//------------------------------------------------------------- void XSurfaceOpenGL::DrawLocal( float x, float y, float lx, float ly ) { if( GetDrawMode() != xDM_NONE ) { glPushMatrix(); if( GetDrawMode() == xDM_NORMAL ) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); else if( GetDrawMode() == xDM_SCREEN ) glBlendFunc(GL_SRC_ALPHA, GL_ONE ); glTranslatef( x, y, 0); glTranslatef( m_fAdjustAxisX, m_fAdjustAxisY, 0 ); if( m_fRotX ) glRotatef( m_fRotX, 1.0f, 0, 0 ); if( m_fRotY ) glRotatef( m_fRotY, 0, 1.0f, 0 ); if( m_fRotZ ) glRotatef( m_fRotZ, 0, 0, 1.0f ); if( m_fScaleX != 1.0f || m_fScaleY != 1.0f || m_fScaleZ != 1.0f ) glScalef( m_fScaleX, m_fScaleY, m_fScaleZ ); glTranslatef( -m_fAdjustAxisX, -m_fAdjustAxisY, 0 ); // 좌표축을 돌린 후 움직인다 glTranslatef( lx, ly, 0); if( m_fAlpha < 1.0f ) DrawCoreAlpha(); else DrawCore(); glPopMatrix(); } m_fRotX = m_fRotY = m_fRotZ = 0; m_fScaleX = m_fScaleY = 1.0f; m_fAdjustAxisX = m_fAdjustAxisY = 0; m_ColorR = m_ColorG = m_ColorB = 1.0f; } // draw local
void Lightning::Draw(glm::mat4 viewMatrix, glm::mat4 projMatrix) { if (coreToDraw > 0) { if (coreToDraw < branchedStart) { drawBranch = true; } coreToDraw -= 4; if (coreToDraw < 0) { coreToDraw = 0; } } if (drawBranch) { if (branchesToDraw > 0) { branchesToDraw -= 4; if (branchesToDraw < 0) { branchesToDraw = 0; } } } DrawCore(viewMatrix,projMatrix); DrawBranch(viewMatrix,projMatrix); }
void XSurfaceOpenGL::Draw( float x, float y ) { if( GetDrawMode() != xDM_NONE ) { glPushMatrix(); if( GetDrawMode() == xDM_NORMAL ) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); else if( GetDrawMode() == xDM_SCREEN ) glBlendFunc(GL_SRC_ALPHA, GL_ONE ); // x += m_fAdjustAxisX; // y += m_fAdjustAxisY; glTranslatef( x, y, 0); // 어느쪽을하든 차이가 없더라. 아이폰/아이패드 둘다 3g는 테스트 안해봄 glTranslatef( m_fAdjustAxisX, m_fAdjustAxisY, 0 ); if( m_fRotX ) glRotatef( m_fRotX, 1.0f, 0, 0 ); if( m_fRotY ) glRotatef( m_fRotY, 0, 1.0f, 0 ); if( m_fRotZ ) glRotatef( m_fRotZ, 0, 0, 1.0f ); if( m_fScaleX != 1.0f || m_fScaleY != 1.0f || m_fScaleZ != 1.0f ) glScalef( m_fScaleX, m_fScaleY, m_fScaleZ ); glTranslatef( -m_fAdjustAxisX, -m_fAdjustAxisY, 0 ); // 좌표축을 돌린 후 움직인다 if( m_fAlpha < 1.0f ) { DrawCoreAlpha(); } else { DrawCore(); } glPopMatrix(); } m_fRotX = m_fRotY = m_fRotZ = 0; m_fScaleX = m_fScaleY = 1.0f; m_fAdjustAxisX = m_fAdjustAxisY = 0; }
void CEneEx0006Tank::Draw() { //---------------------------------------------- //描画 //---------------------------------------------- Sint32 ax,ay; if( !m_bDisp ) return; ax = m_Pos.x + 0*100; ay = m_Pos.y + 0*100; for(Sint32 ii=0;ii<enPartsMax;ii++) { switch( m_stItem[ ii ].sType ){ case enEngineItemNone: break; case enEngineItemShaft: DrawShaft( ii ); break; case enEngineItemGear_S: case enEngineItemGear_L: DrawGear( ii ); break; case enEngineItemFuta: DrawFuta( ii ); break; case enEngineItemCyrinder: DrawCyrinder( ii ); break; case enEngineItemCore: DrawCore( ii ); break; } } }