//----------------------------------------------------------------------------- // 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; }
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) ); }