DGLE_RESULT DGLE_API Game::Initialize() { pEngineCore->GetSubSystem(ESS_INPUT, (IEngineSubSystem *&)pInput); IRender *p_render; pEngineCore->GetSubSystem(ESS_RENDER, (IEngineSubSystem *&)p_render); p_render->SetClearColor(ColorWhite()); p_render->GetRender2D(pRender2D); IResourceManager *p_res_man; pEngineCore->GetSubSystem(ESS_RESOURCE_MANAGER, (IEngineSubSystem *&)p_res_man); IEngineBaseObject *p_tmp_obj; p_res_man->GetDefaultResource(EOT_BITMAP_FONT, (IEngineBaseObject *&)pFont); // getting default font //p_res_man->Load(RESOURCE_PATH"\\fonts\\Times_New_Roman_12_rus.dft", (IEngineBaseObject *&)pFont, RES_LOAD_DEFAULT); p_res_man->Load(RESOURCE_PATH"\\sounds\\SwallowScore.wav", p_tmp_obj, RES_LOAD_DEFAULT, "SndSwallowScore"); p_res_man->Load(RESOURCE_PATH"\\sounds\\SwallowBlackScore.wav", p_tmp_obj, RES_LOAD_DEFAULT, "SndSwallowBlackScore"); p_res_man->Load(RESOURCE_PATH"\\sounds\\SwallowBigScore.wav", p_tmp_obj, RES_LOAD_DEFAULT, "SndSwallowBigScore"); p_res_man->Load(RESOURCE_PATH"\\sounds\\SwallowHelpScore.wav", p_tmp_obj, RES_LOAD_DEFAULT, "SndSwallowHelpScore"); p_res_man->Load(RESOURCE_PATH"\\sounds\\SwallowExit.wav", p_tmp_obj, RES_LOAD_DEFAULT, "SndSwallowExit"); p_res_man->Load(RESOURCE_PATH"\\sounds\\SwallowGhost.wav", p_tmp_obj, RES_LOAD_DEFAULT, "SndSwallowGhost"); p_res_man->Load(RESOURCE_PATH"\\sounds\\LostScore.wav", p_tmp_obj, RES_LOAD_DEFAULT, "SndLostScore"); p_res_man->Load(RESOURCE_PATH"\\sounds\\IncreaseLives.wav", p_tmp_obj, RES_LOAD_DEFAULT, "SndIncreaseLives"); NewGame(); return S_OK; }
void CRender3D::DrawProfiler() { if (_iProfilerState > 0) { Core()->RenderProfilerText("======Render3D Profiler=====", ColorWhite()); Core()->RenderProfilerText(("Objects on screen :" + UIntToStr(_uiObjsDrawnCount)).c_str(), ColorWhite()); Core()->RenderProfilerText(("Render delay :" + UInt64ToStr(_ui64DrawDelay / 1000) + "." + UIntToStr(_ui64DrawDelay % 1000) + " ms").c_str(), ColorWhite()); } }
void CRender3D::SetDefaultStates() { uint vp_x, vp_y, vp_width, vp_height; _pCoreRenderer->GetViewport(vp_x, vp_y, vp_width, vp_height); _stCurState.fFovAngle = 60.f; _stCurState.fZNear = 0.25f; _stCurState.fZFar = 1000.f; _SetPerspectiveMatrix(vp_width, vp_height); _stCurState.matrixStack.Clear(MatrixIdentity()); _pCoreRenderer->SetMatrix(_stCurState.matrixStack.Top()); _stCurState.isLightingEnabled = false; _stCurState.stGlobalAmbient = TColor4(50, 50, 50, 255); _stCurState.stFogDesc.bEnabled = false; _stCurState.stFogDesc.stColor = ColorGray(); _stCurState.stFogDesc.fStart = 500.f; _stCurState.stFogDesc.fEnd = 1000.f; if (_pFFP) { _pFFP->ToggleGlobalLighting(_stCurState.isLightingEnabled); _pFFP->SetGloablAmbientLight(_stCurState.stGlobalAmbient); _pFFP->SetFogEnabled(_stCurState.stFogDesc.bEnabled); _pFFP->SetFogColor(_stCurState.stFogDesc.stColor); _pFFP->ConfigureFog(_stCurState.stFogDesc.fStart, _stCurState.stFogDesc.fEnd); } _stCurState.eBlendingMode = BE_NORMAL; _stCurState.stBlendStateDesc = TBlendStateDesc(); _pCoreRenderer->SetBlendState(_stCurState.stBlendStateDesc); _stCurState.stDepthStencilDesc = TDepthStencilDesc(); _pCoreRenderer->SetDepthStencilState(_stCurState.stDepthStencilDesc); _stCurState.stRasterStateDesc = TRasterizerStateDesc(); _stCurState.stRasterStateDesc.eCullMode = PCM_BACK; _pCoreRenderer->SetRasterizerState(_stCurState.stRasterStateDesc); _stCurState.stColor = ColorWhite(); _pCoreRenderer->SetColor(_stCurState.stColor); _stCurState.pCurMat = INVALID_MATERIAL; Core()->pRender()->Unbind(EOT_UNKNOWN); }
CFixedFunctionPipeline::CFixedFunctionPipeline() : _c_fAttenuationFactor(1.75f), _bStateFilterEnabled(true) { glGetIntegerv(GL_MAX_LIGHTS, &_iMaxLights); _pLights = new TLight[_iMaxLights]; glFogi(GL_FOG_MODE, GL_LINEAR); glLightModelfv(GL_LIGHT_MODEL_AMBIENT, TColor4(50, 50, 50, 255)); for (int i = 0; i < _iMaxLights; ++i) { _pLights[i].type = LT_DIRECTIONAL; _pLights[i].mview = MatrixIdentity(); glDisable(GL_LIGHT0 + i); glLightfv(GL_LIGHT0 + i, GL_DIFFUSE, ColorWhite()); glLightfv(GL_LIGHT0 + i, GL_SPECULAR, ColorWhite()); glLightf(GL_LIGHT0 + i, GL_CONSTANT_ATTENUATION, 1.f); glLightf(GL_LIGHT0 + i, GL_LINEAR_ATTENUATION, _c_fAttenuationFactor / 100.f); glLightf(GL_LIGHT0 + i, GL_SPOT_CUTOFF, 180.f); const GLfloat pos[] = {0.f, 0.f, 1.f, 0.f}; glLightfv(GL_LIGHT0 + i, GL_POSITION, pos); } }
void acCustomGraphicsScene::drawBackground(QPainter *painter, const QRectF &rect) { // color Black QColor ColorBlack(0, 0, 0); // color White QColor ColorWhite(255, 255, 255); // Draw a line grid if (m_gridenabled != eCustomGraphicsScene_Grids::None) { painter->setPen(Qt::white); // Start point for Horizonal steps qreal startH = 0; //Start point for Virtical steps qreal startV = 0; switch (m_gridenabled) { case eCustomGraphicsScene_Grids::Block: { QImage image(":/CompressonatorGUI/Images/GridSolid.png"); QBrush brush(image); painter->fillRect(rect, brush); break; } case eCustomGraphicsScene_Grids::Lines: { // First fill the BackGround as black painter->fillRect(rect, ColorBlack); // draw horizontal grid lines painter->setPen(QPen(ColorWhite)); for (qreal y = startH; y < rect.bottom();) { y += m_gridStep; painter->drawLine(rect.left(), y, rect.right(), y); } // draw virtical grid lines for (qreal x = startV; x < rect.right();) { x += m_gridStep; painter->drawLine(x, rect.top(), x, rect.bottom()); } break; } case eCustomGraphicsScene_Grids::Dots: { // First fill the BackGround as black painter->fillRect(rect, ColorBlack); // draw points painter->setPen(QPen(ColorWhite)); for (qreal y = startH; y < rect.bottom();) { y += m_gridStep; // draw virtical grid lines for (qreal x = startV; x < rect.right();) { x += m_gridStep; painter->drawPoint(x, y); } } break; } default: { painter->fillRect(rect, ColorBlack); break; } } } else painter->fillRect(rect, ColorBlack); }
CLight::CLight(uint uiInstIdx): CInstancedObj(uiInstIdx), _bEnabled(true), _eType(LT_DIRECTIONAL), _stMainCol(ColorWhite()), _stPos(TPoint3()), _stDir(TVector3(0.f, 0.f, 1.f)), _fRange(100.f), _fIntensity(1.f), _fAngle(90.f) {}