{"url":"https://ousttrue.hatenadiary.org/entry/20120120/1327001209","author_name":"ousttrue","image_url":"https://cdn-ak.f.st-hatena.com/images/fotolife/o/ousttrue/20120120/20120120041640.png","provider_url":"https://hatena.blog","blog_url":"https://ousttrue.hatenadiary.org/","published":"2012-01-20 04:26:49","description":"OpenGL ES2.0 \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30ac\u30a4\u30c9\u3092\u53c2\u8003\u306b\u3057\u3066\u3001\u65b0\u3057\u3044API\u3060\u3051\u3092\u4f7f\u3063\u3066\u30e2\u30c7\u30eb\u30d3\u30e5\u30fc\u30ef\u3092\u4f5c\u6210\u4e2d\u3002 https://github.com/ousttrue/glbase zip\u30d5\u30a1\u30a4\u30eb\u306e\u4e2d\u306e\u30e2\u30c7\u30eb\u3092\u8868\u793a GLSL vbo interleaved\u306a\u9802\u70b9\u914d\u5217 \u81ea\u524d\u306epersepective\u884c\u5217 attribute\u5909\u6570\u306e\u53d6\u308a\u56de\u3057 uniform\u5909\u6570\u306e\u53d6\u308a\u56de\u3057 \u76f4\u63a5shader\u95a2\u9023\u306e\u95a2\u6570\u3092\u547c\u3070\u305a\u306b\u6e08\u3080\u3088\u3046\u306b\u30e9\u30c3\u30d1\u30fc\u3092\u4f5c\u308b\u5b9f\u9a13\u3002 \u3082\u3046\u5c11\u3057\u53ef\u8aad\u6027\u3092\u306a\u3093\u3068\u304b\u3057\u305f\u3044\u3068\u3053\u308d\u3002","blog_title":"\u4e09\u6b21\u5143\u65e5\u8a8c","width":"100%","height":"190","version":"1.0","categories":["python","OpenGL"],"type":"rich","author_url":"https://blog.hatena.ne.jp/ousttrue/","title":"OpenGL ES2.0\u76f8\u5f53\u306eAPI\u3067\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u3092\u958b\u767a\u4e2d","provider_name":"Hatena Blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fousttrue.hatenadiary.org%2Fentry%2F20120120%2F1327001209\" title=\"OpenGL ES2.0\u76f8\u5f53\u306eAPI\u3067\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u3092\u958b\u767a\u4e2d - \u4e09\u6b21\u5143\u65e5\u8a8c\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>"}