0
glClear(GL_COLOR_BUFFER_BIT |GL_DEPTH_BUFFER_BIT);
glUseProgram(_program);
GLKVector2 poz= { 0, 0};
if (_Sprite2)
{
float aspect = (GLfloat) _screenWidth/ (GLfloat) _screenHeight;
[self esMatrixLoadIdentity : &perspective];
[self esPerspective:&perspective pos_fovy:60.0f pos_aspect:aspect pos_nearZ:1.0f pos_farZ:30.0f];
[self esMatrixLoadIdentity : &modelview];
[self esTranslate : &modelview trans_x:0.0f trans_y:-0.5f trans_z:-5 ];
[self esRotate : &modelview gl_angle:0.0f _x:1.0 _y:0.0 _z:1.0];
[self esMatrixMultiply :&mvpMatrix src_A:&modelview src_B:&perspective];
glUniformMatrix4fv (mvpLoc, 1, GL_FALSE, (GLfloat*) &mvpMatrix.m[0][0]);
[_Sprite2 update : poz];
[_Sprite2 draw];
}/// crown
if(_sprite)//bug
{
float aspect = (GLfloat) _screenWidth/ (GLfloat) _screenHeight;
[self esMatrixLoadIdentity : &perspective];
[self esPerspective:&perspective pos_fovy:60.0f pos_aspect:aspect pos_nearZ:1.0f pos_farZ:30.0f];
[self esMatrixLoadIdentity : &modelview];
[self esTranslate : &modelview trans_x:0.0f trans_y:0.0f trans_z:_zPoz + _zPoz_2];
[self esRotate : &modelview gl_angle:0.0f _x:1.0 _y:0.0 _z:1.0];
[self esMatrixMultiply :&mvpMatrix src_A:&modelview src_B:&perspective];
glUniformMatrix4fv (mvpLoc, 1, GL_FALSE, (GLfloat*) &mvpMatrix.m[0][0]);
[_sprite update : poz];
[_sprite draw];
}
錯誤圖像改變深度-Z, 和冠的透明度區域現在正常工作。
如何正確地看到後面的錯誤?
謝謝你的第二應答運作良好。首先是我想避免它 – nosweet