Exemple #1
0
//-----------------------------------------------------------------------------
// Name: CMeshRender()
// Desc: Constructor
//-----------------------------------------------------------------------------
CMeshRender::CMeshRender()
{
    // Initialize member variables
    DXUtil_GetDXSDKMediaPathCb( m_strInitialDir, sizeof(m_strInitialDir) );
    _tcscpy( m_strMeshFilename, _T("Sphere.x") );//_T("Tiger.x") );

    m_pPMeshes           = NULL;
    m_cPMeshes           = 0;
    m_pPMeshFull         = NULL;
    m_bShowOptimized     = TRUE;

    m_dwNumMaterials     = 0L;
    m_mtrlMeshMaterials  = NULL;
    m_pMeshTextures      = NULL;

    m_bDisplayHelp       = FALSE;

    m_bInitDone          = FALSE;

	m_pd3dDevice = NULL;
}
Exemple #2
0
VOID CAppForm::InitializeUIControls()
{
    
    // Get ptrs to the combo box controls for texture stage state UI
    m_pTex0ColorArg1 = (CComboBox*)GetDlgItem( IDC_TEX0_COLORARG1 );
    m_pTex0ColorOp   = (CComboBox*)GetDlgItem( IDC_TEX0_COLOROP );
    m_pTex0ColorArg2 = (CComboBox*)GetDlgItem( IDC_TEX0_COLORARG2 );
    m_pTex0ColorArg0 = (CComboBox*)GetDlgItem( IDC_TEX0_COLORARG0 );
    m_pTex0AlphaArg1 = (CComboBox*)GetDlgItem( IDC_TEX0_ALPHAARG1 );
    m_pTex0AlphaOp   = (CComboBox*)GetDlgItem( IDC_TEX0_ALPHAOP );
    m_pTex0AlphaArg2 = (CComboBox*)GetDlgItem( IDC_TEX0_ALPHAARG2 );
    m_pTex0AlphaArg0 = (CComboBox*)GetDlgItem( IDC_TEX0_ALPHAARG0 );
    m_pTex1ColorArg1 = (CComboBox*)GetDlgItem( IDC_TEX1_COLORARG1 );
    m_pTex1ColorOp   = (CComboBox*)GetDlgItem( IDC_TEX1_COLOROP );
    m_pTex1ColorArg2 = (CComboBox*)GetDlgItem( IDC_TEX1_COLORARG2 );
    m_pTex1ColorArg0 = (CComboBox*)GetDlgItem( IDC_TEX1_COLORARG0 );
    m_pTex1AlphaArg1 = (CComboBox*)GetDlgItem( IDC_TEX1_ALPHAARG1 );
    m_pTex1AlphaOp   = (CComboBox*)GetDlgItem( IDC_TEX1_ALPHAOP );
    m_pTex1AlphaArg2 = (CComboBox*)GetDlgItem( IDC_TEX1_ALPHAARG2 );
    m_pTex1AlphaArg0 = (CComboBox*)GetDlgItem( IDC_TEX1_ALPHAARG0 );

    m_pTex2ColorArg1 = (CComboBox*)GetDlgItem( IDC_TEX2_COLORARG1 );
    m_pTex2ColorOp   = (CComboBox*)GetDlgItem( IDC_TEX2_COLOROP );
    m_pTex2ColorArg2 = (CComboBox*)GetDlgItem( IDC_TEX2_COLORARG2 );
    m_pTex2ColorArg0 = (CComboBox*)GetDlgItem( IDC_TEX2_COLORARG0 );
    m_pTex2AlphaArg1 = (CComboBox*)GetDlgItem( IDC_TEX2_ALPHAARG1 );
    m_pTex2AlphaOp   = (CComboBox*)GetDlgItem( IDC_TEX2_ALPHAOP );
    m_pTex2AlphaArg2 = (CComboBox*)GetDlgItem( IDC_TEX2_ALPHAARG2 );
    m_pTex2AlphaArg0 = (CComboBox*)GetDlgItem( IDC_TEX2_ALPHAARG0 );

	m_pTex3ColorArg1 = (CComboBox*)GetDlgItem( IDC_TEX3_COLORARG1 );
    m_pTex3ColorOp   = (CComboBox*)GetDlgItem( IDC_TEX3_COLOROP );
    m_pTex3ColorArg2 = (CComboBox*)GetDlgItem( IDC_TEX3_COLORARG2 );
    m_pTex3ColorArg0 = (CComboBox*)GetDlgItem( IDC_TEX3_COLORARG0 );
    m_pTex3AlphaArg1 = (CComboBox*)GetDlgItem( IDC_TEX3_ALPHAARG1 );
    m_pTex3AlphaOp   = (CComboBox*)GetDlgItem( IDC_TEX3_ALPHAOP );
    m_pTex3AlphaArg2 = (CComboBox*)GetDlgItem( IDC_TEX3_ALPHAARG2 );
    m_pTex3AlphaArg0 = (CComboBox*)GetDlgItem( IDC_TEX3_ALPHAARG0 );

	m_pTex4ColorArg1 = (CComboBox*)GetDlgItem( IDC_TEX4_COLORARG1 );
    m_pTex4ColorOp   = (CComboBox*)GetDlgItem( IDC_TEX4_COLOROP );
    m_pTex4ColorArg2 = (CComboBox*)GetDlgItem( IDC_TEX4_COLORARG2 );
    m_pTex4ColorArg0 = (CComboBox*)GetDlgItem( IDC_TEX4_COLORARG0 );
    m_pTex4AlphaArg1 = (CComboBox*)GetDlgItem( IDC_TEX4_ALPHAARG1 );
    m_pTex4AlphaOp   = (CComboBox*)GetDlgItem( IDC_TEX4_ALPHAOP );
    m_pTex4AlphaArg2 = (CComboBox*)GetDlgItem( IDC_TEX4_ALPHAARG2 );
    m_pTex4AlphaArg0 = (CComboBox*)GetDlgItem( IDC_TEX4_ALPHAARG0 );

    m_pTex0ResultArg = (CComboBox*)GetDlgItem( IDC_TEX0_RESULT );
    m_pTex1ResultArg = (CComboBox*)GetDlgItem( IDC_TEX1_RESULT );
    m_pTex2ResultArg = (CComboBox*)GetDlgItem( IDC_TEX2_RESULT );
	m_pTex3ResultArg = (CComboBox*)GetDlgItem( IDC_TEX3_RESULT );
    m_pTex4ResultArg = (CComboBox*)GetDlgItem( IDC_TEX4_RESULT );

    GetDlgItem( IDC_TEX0_NAME )->SetWindowText( _T("env2.bmp") );
    GetDlgItem( IDC_TEX1_NAME )->SetWindowText( _T("spotlite.bmp") );
    GetDlgItem( IDC_TEX2_NAME )->SetWindowText( _T("env3.bmp") );
	GetDlgItem( IDC_TEX3_NAME )->SetWindowText( _T("env4.bmp") );
	GetDlgItem( IDC_TEX4_NAME )->SetWindowText( _T("env5.bmp") );
    OnChangeTex();

    GetDlgItem( IDC_BLEND_FACTOR )->SetWindowText( _T("80808080") );
    OnChangeBlendFactor();

    GetDlgItem( IDC_DIFFUSE_COLOR )->SetWindowText( _T("ff0000ff") );
    OnChangeDiffuseColor();

    for( TCHAR** pstrTexOps = g_astrTextureOps; *pstrTexOps; pstrTexOps++ )
    {
        m_pTex0ColorOp->AddString( *pstrTexOps );
        m_pTex0AlphaOp->AddString( *pstrTexOps );
        m_pTex1ColorOp->AddString( *pstrTexOps );
        m_pTex1AlphaOp->AddString( *pstrTexOps );
        m_pTex2ColorOp->AddString( *pstrTexOps );
        m_pTex2AlphaOp->AddString( *pstrTexOps );
		m_pTex3ColorOp->AddString( *pstrTexOps );
        m_pTex3AlphaOp->AddString( *pstrTexOps );
		m_pTex4ColorOp->AddString( *pstrTexOps );
        m_pTex4AlphaOp->AddString( *pstrTexOps );
    }

    for( TCHAR** pstrArgs1 = g_astrTextureArgs1; *pstrArgs1; pstrArgs1++ )
    {
        m_pTex0ColorArg1->AddString( *pstrArgs1 );
        m_pTex0AlphaArg1->AddString( *pstrArgs1 );
        m_pTex1ColorArg1->AddString( *pstrArgs1 );
        m_pTex1AlphaArg1->AddString( *pstrArgs1 );
        m_pTex2ColorArg1->AddString( *pstrArgs1 );
        m_pTex2AlphaArg1->AddString( *pstrArgs1 );
		m_pTex3ColorArg1->AddString( *pstrArgs1 );
        m_pTex3AlphaArg1->AddString( *pstrArgs1 );
		m_pTex4ColorArg1->AddString( *pstrArgs1 );
        m_pTex4AlphaArg1->AddString( *pstrArgs1 );
    }

    for( TCHAR** pstrArgs2 = g_astrTextureArgs2; *pstrArgs2; pstrArgs2++ )
    {
        m_pTex0ColorArg2->AddString( *pstrArgs2 );
        m_pTex0AlphaArg2->AddString( *pstrArgs2 );
        m_pTex1ColorArg2->AddString( *pstrArgs2 );
        m_pTex1AlphaArg2->AddString( *pstrArgs2 );
        m_pTex2ColorArg2->AddString( *pstrArgs2 );
        m_pTex2AlphaArg2->AddString( *pstrArgs2 );
		m_pTex3ColorArg2->AddString( *pstrArgs2 );
        m_pTex3AlphaArg2->AddString( *pstrArgs2 );
		m_pTex4ColorArg2->AddString( *pstrArgs2 );
        m_pTex4AlphaArg2->AddString( *pstrArgs2 );
    }

    for( TCHAR** pstrArgs0 = g_astrTextureArgs0; *pstrArgs0; pstrArgs0++ )
    {
        m_pTex0ColorArg0->AddString( *pstrArgs0 );
        m_pTex0AlphaArg0->AddString( *pstrArgs0 );
        m_pTex1ColorArg0->AddString( *pstrArgs0 );
        m_pTex1AlphaArg0->AddString( *pstrArgs0 );
        m_pTex2ColorArg0->AddString( *pstrArgs0 );
        m_pTex2AlphaArg0->AddString( *pstrArgs0 );
		m_pTex3ColorArg0->AddString( *pstrArgs0 );
        m_pTex3AlphaArg0->AddString( *pstrArgs0 );
		m_pTex4ColorArg0->AddString( *pstrArgs0 );
        m_pTex4AlphaArg0->AddString( *pstrArgs0 );
    }

    for( TCHAR** pstrResArgs = g_astrResultArgs; *pstrResArgs; pstrResArgs++ )
    {
        m_pTex0ResultArg->AddString( *pstrResArgs );
        m_pTex1ResultArg->AddString( *pstrResArgs );
        m_pTex2ResultArg->AddString( *pstrResArgs );
		m_pTex3ResultArg->AddString( *pstrResArgs );
		m_pTex4ResultArg->AddString( *pstrResArgs );
    }


    for( TCHAR** pstrPresets = g_astrPresetEffects; *pstrPresets; pstrPresets++ )
    {
        ((CComboBox*)GetDlgItem( IDC_PRESET_EFFECTS ))->AddString( *pstrPresets );
    }

    ((CComboBox*)GetDlgItem( IDC_PRESET_EFFECTS ))->SetCurSel( 0 );
    OnChangePresetEffects();

    // Store the initial media directory (for loading textures)
    DXUtil_GetDXSDKMediaPathCb( m_strInitialDir, sizeof(m_strInitialDir) );
}