私は OpenGL-ES を初めて使用し、Buck のLearning OpenGL ES for iOS book に取り組み始めました。
第 2 章では単色での三角形の描画について説明し、第 3 章ではテクスチャの使用について説明します。
個人的な学習課題として、サンプル コードを変更して 2 つの三角形を描画しようとしています。1 つはテクスチャ付き、もう 1 つはソリッドです。
非常に基本的な演習のように見えますが、OpenGL-ES の初心者としては難しいことがわかっています。
これまでのところ、私は物事の組み合わせを試してきました。
まず で描く準備をしGLKVertexAttribPosition
、次にで描きGLKVertexAttribTexCoord0
ます。次に、三角形 1 で頂点バッファーを描画します。
次に、次のようないくつかのことを試しました。
glDisableVertexAttribArray(GLKVertexAttribTexCoord0);
と
GLuint name = self.textureInfo0.name;
glDeleteTextures(1, &name);
色属性を描画する前に:
[self.vertexBuffer prepareToDrawWithAttrib:GLKVertexAttribColor
numberOfCoordinates:3
attribOffset:offsetof(SceneVertex, colours)
shouldEnable:YES];
スクリーンショットで、左下の三角形のテクスチャが頂点カラー アトリビュートとブレンドされていることがわかります。正方形を作る直角三角形は完全に黒です。
prepareToDrawWithAttrib
メソッド呼び出しは、主にメソッドを呼び出す Buck のユーティリティ クラスであることに注意してくださいglVertexAttribPointer
。
ここではGLKitを使用しているため、シェーダーなどは使用しないことに注意してください。
スクリーンショットは次のとおりです。
どんな考えでも大歓迎です。