void *ThreeDeeApp (void *param) { queue *fifo; int msg, buff = 0; fifo = (queue *)param; float Yrotation = 0; assets = new Obj3d(true); EGLinit(eglDisplay, eglSurface); if (1==preRender()) { EGLdeinit(eglDisplay); exit(1); } assets->start(g_hTXShaderProgram, "resources/models/tumbler/BatMobil.obj", *assets); if(!assets->getScene()) { printf("scene could not be loaded\n"); exit(1); } printf("scene loaded\n"); for (;;) { if(!fifo->empty) { pthread_mutex_lock(fifo->mut); queueDel(fifo, &msg); pthread_mutex_unlock(fifo->mut); pthread_cond_signal(fifo->notFull); //printf("3D app: received %i\n", msg); } if (msg != buff) { Yrotation = msg - buff; buff = msg; Render(assets, 0, Yrotation*3, 0, 0); } else { Render(assets, 0, 0, 0, 0); } Yrotation = 0; //msg=0; eglSwapBuffers(eglDisplay, eglSurface); } RenderCleanup(assets); // cleanup DestroyShaders(); EGLdeinit(eglDisplay); return (NULL); }
Lighting::~Lighting() { DestroyShaders(); sceneLights.SetCount(0); SAFE_RELEASE(m_Atten); SAFE_RELEASE(m_Spot); SAFE_RELEASE(m_CubeNormal); }
/** * Shutdown the render manager */ bool RenderManager::Destroy() { if(unitSphereMesh) delete unitSphereMesh; if(unitConeMesh) delete unitConeMesh; if(fullScreenVB) gRenderAPI->DestroyVertexBuffer(fullScreenVB); if(fullScreenIB) gRenderAPI->DestroyIndexBuffer(fullScreenIB); if(defaultTexture) gRenderAPI->DestroyTexture(defaultTexture); cachedSamplers.clear(); DestroyFonts(); DestroyShaders(); DestroyRenderTargets(); gRenderAPI->Destroy(); return true; }
void dx103DFluidRenderer::Destroy() { if (!m_bInited) return; //createJitterTexture(); m_JitterTexture = 0; m_HHGGTexture = 0; //createScreenQuad(); m_GeomQuadVertex = 0; _RELEASE(m_pQuadVertexBuffer); //createGridBox(); m_GeomGridBox = 0; _RELEASE(m_pGridBoxVertexBuffer); _RELEASE(m_pGridBoxIndexBuffer); DestroyShaders(); }
void Cleanup(void) { DestroyShaders(); DestroyVBO(); }
//-------------------------------------------------------------------------- void DeferredShadingMSAA::ReloadShaders() { DestroyShaders(); BuildShaders(); }
bool Lighting::CreateShaders(bool FromResource) { HRESULT Hr; TSTR Str; int i; TCHAR error[256]; _stprintf(error,_T("%s"),GetString(IDS_ERROR)); DestroyShaders(); if(FromResource) { for(i = 0; i < SHADER_LIGHT_MAX; i++) { if(FAILED(Hr = CreateVertexShaderResource(m_Device,m_VertexRes[i],&m_VertexDec,&m_VertexHandle[i]))) { Str = TSTR(GetString(IDS_ERROR_VS)) + m_VertexFile[i]; MessageBox(NULL,Str,error,MB_OK | MB_ICONERROR | MB_SETFOREGROUND | MB_APPLMODAL); return(false); } if(FAILED(Hr = CreatePixelShaderResource(m_Device,m_PixelRes[i],&m_PixelHandle[i]))) { Str = TSTR(GetString(IDS_ERROR_PS)) + m_PixelFile[i]; MessageBox(NULL,Str,error,MB_OK | MB_ICONERROR | MB_SETFOREGROUND | MB_APPLMODAL); return(false); } } } /* else { for(i = 0; i < SHADER_LIGHT_MAX; i++) { if(FAILED(Hr = CreateShader(m_Device,m_VertexFile[i],gVertexDecl, SHADER_VERTEXSHADER,&m_VertexHandle[i]))) { Str = TSTR(GetString(IDS_ERROR_VS)) + m_VertexFile[i] + TSTR(GetString(IDS_CHECK_PATHS)); MessageBox(NULL,Str,error,MB_OK | MB_ICONERROR | MB_SETFOREGROUND | MB_APPLMODAL); return(false); } if(FAILED(Hr = CreateShader(m_Device,m_PixelFile[i],gVertexDecl, SHADER_PIXELSHADER,&m_PixelHandle[i]))) { Str = TSTR(GetString(IDS_ERROR_PS)) + m_PixelFile[i] + TSTR(GetString(IDS_CHECK_PATHS)); MessageBox(NULL,Str,error,MB_OK | MB_ICONERROR | MB_SETFOREGROUND | MB_APPLMODAL); return(false); } } } */ return(true); }
bool Lighting::Init(LPDIRECT3DDEVICE9 Device) { if(!m_InitDone) { m_Device = Device; m_VertexFile[SHADER_DIR] = _T("DL1.nvo"); m_VertexRes[SHADER_DIR] = IDR_DL1_NVO; m_PixelFile[SHADER_DIR] = _T("DL1.pso"); m_PixelRes[SHADER_DIR] = IDR_DL1_PSO; m_VertexFile[SHADER_DIR_SPEC] = _T("DL2.nvo"); m_VertexRes[SHADER_DIR_SPEC] = IDR_DL2_NVO; m_PixelFile[SHADER_DIR_SPEC] = _T("DL2.pso"); m_PixelRes[SHADER_DIR_SPEC] = IDR_DL2_PSO; m_VertexFile[SHADER_DIR_NORMAL] = _T("DL3.nvo"); m_VertexRes[SHADER_DIR_NORMAL] = IDR_DL3_NVO; m_PixelFile[SHADER_DIR_NORMAL] = _T("DL3.pso"); m_PixelRes[SHADER_DIR_NORMAL] = IDR_DL3_PSO; m_VertexFile[SHADER_DIR_NORMAL_SPEC] = _T("DL4.nvo"); m_VertexRes[SHADER_DIR_NORMAL_SPEC] = IDR_DL4_NVO; m_PixelFile[SHADER_DIR_NORMAL_SPEC] = _T("DL4.pso"); m_PixelRes[SHADER_DIR_NORMAL_SPEC] = IDR_DL4_PSO; m_VertexFile[SHADER_OMNI] = _T("OL1.nvo"); m_VertexRes[SHADER_OMNI] = IDR_OL1_NVO; m_PixelFile[SHADER_OMNI] = _T("OL1.pso"); m_PixelRes[SHADER_OMNI] = IDR_OL1_PSO; m_VertexFile[SHADER_OMNI_SPEC] = _T("OL2.nvo"); m_VertexRes[SHADER_OMNI_SPEC] = IDR_OL2_NVO; m_PixelFile[SHADER_OMNI_SPEC] = _T("OL2.pso"); m_PixelRes[SHADER_OMNI_SPEC] = IDR_OL2_PSO; m_VertexFile[SHADER_OMNI_NORMAL] = _T("OL3.nvo"); m_VertexRes[SHADER_OMNI_NORMAL] = IDR_OL3_NVO; m_PixelFile[SHADER_OMNI_NORMAL] = _T("OL3.pso"); m_PixelRes[SHADER_OMNI_NORMAL] = IDR_OL3_PSO; m_VertexFile[SHADER_OMNI_NORMAL_SPEC] = _T("OL4.nvo"); m_VertexRes[SHADER_OMNI_NORMAL_SPEC] = IDR_OL4_NVO; m_PixelFile[SHADER_OMNI_NORMAL_SPEC] = _T("OL4.pso"); m_PixelRes[SHADER_OMNI_NORMAL_SPEC] = IDR_OL4_PSO; m_VertexFile[SHADER_SPOT] = _T("SL1.nvo"); m_VertexRes[SHADER_SPOT] = IDR_SL1_NVO; m_PixelFile[SHADER_SPOT] = _T("SL1.pso"); m_PixelRes[SHADER_SPOT] = IDR_SL1_PSO; m_VertexFile[SHADER_SPOT_SPEC] = _T("SL2.nvo"); m_VertexRes[SHADER_SPOT_SPEC] = IDR_SL2_NVO; m_PixelFile[SHADER_SPOT_SPEC] = _T("SL2.pso"); m_PixelRes[SHADER_SPOT_SPEC] = IDR_SL2_PSO; m_VertexFile[SHADER_SPOT_NORMAL] = _T("SL3.nvo"); m_VertexRes[SHADER_SPOT_NORMAL] = IDR_SL3_NVO; m_PixelFile[SHADER_SPOT_NORMAL] = _T("SL3.pso"); m_PixelRes[SHADER_SPOT_NORMAL] = IDR_SL3_PSO; m_VertexFile[SHADER_SPOT_NORMAL_SPEC] = _T("SL4.nvo"); m_VertexRes[SHADER_SPOT_NORMAL_SPEC] = IDR_SL4_NVO; m_PixelFile[SHADER_SPOT_NORMAL_SPEC] = _T("SL4.pso"); m_PixelRes[SHADER_SPOT_NORMAL_SPEC] = IDR_SL4_PSO; m_VertexFile[SHADER_SPEC] = _T("SP.nvo"); m_VertexRes[SHADER_SPEC] = IDR_SP_NVO; m_PixelFile[SHADER_SPEC] = _T("SP.pso"); m_PixelRes[SHADER_SPEC] = IDR_SP_PSO; m_VertexFile[SHADER_AMBIENT] = _T("A.nvo"); m_VertexRes[SHADER_AMBIENT] = IDR_A_NVO; m_PixelFile[SHADER_AMBIENT] = _T("A.pso"); m_PixelRes[SHADER_AMBIENT] = IDR_A_PSO; DestroyShaders(); if(!CreateShaders(true)) { return(false); } TSTR textureName = _T("GAM.tga"); if(!LoadAttenTexture(textureName, Device)) { return(false); } textureName = _T("GSPM.tga"); if(!LoadSpotTexture(textureName, Device)) { return(false); } if(!CreateNormalizationCubeMap(Device,256)) { return(false); } // do it when we get going......Should only be one time m_InitDone = true; m_Ready = true; } return(true); }
ShaderManager::~ShaderManager() { DestroyShaders(); }
void Chapter21App::Cleanup() { DestroyShaders(); DestroyVBO(); }
void Cleanup (void) { DestroyShaders (); DestroyVBO (); free (TempString); }