Example #1
0
//-------------------------------------------------------------
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
Example #2
0
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);
}
Example #3
0
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;
		}
	}

}