gemw32window::gemw32window(void) : m_topmost(false), m_win(NULL) { if(!initGemWin()) throw(GemException("could not initialize window infrastructure")); }
///////////////////////////////////////////////////////// // // GemMan // ///////////////////////////////////////////////////////// // initGem // ///////////////////////////////////////////////////////// void GemMan :: initGem() { static int alreadyInit = 0; if (alreadyInit) return; alreadyInit = 1; // clear the light array for (int i = 0; i < NUM_LIGHTS; i++) s_lights[i] = 0; m_clear_color[0] = 0.0; m_clear_color[1] = 0.0; m_clear_color[2] = 0.0; m_clear_color[3] = 0.0; m_mat_ambient[0] = 0.0f; m_mat_ambient[1] = 0.0f; m_mat_ambient[2] = 0.0f; m_mat_ambient[3] = 1.0f; m_mat_specular[0] = 1.0; m_mat_specular[1] = 1.0; m_mat_specular[2] = 1.0; m_mat_specular[3] = 1.0; m_mat_shininess = 100.0; s_clock = clock_new(NULL, reinterpret_cast<t_method>(&GemMan::render)); GemSIMD simd_init; // setup the perspective values m_perspect[0] = -1.f; // left m_perspect[1] = 1.f; // right m_perspect[2] = -1.f; // bottom m_perspect[3] = 1.f; // top m_perspect[4] = 1.f; // front m_perspect[5] = 20.f; // back // setup the lookat values m_lookat[0] = 0.f; // eye: x m_lookat[1] = 0.f; // y m_lookat[2] = 4.f; // z m_lookat[3] = 0.f; // center : x m_lookat[4] = 0.f; // y m_lookat[5] = 0.f; // z m_lookat[6] = 0.f; // up:: x m_lookat[7] = 1.f; // y m_lookat[8] = 0.f; // z // setup the fog m_fogMode = FOG_OFF; m_fogStart = 1.f; m_fogEnd = 20.f; m_fog = 0.5f; m_fogColor[0] = m_fogColor[1] = m_fogColor[2] = m_fogColor[3] = 1.f; maxStackDepth[GemMan::STACKMODELVIEW] = 16; // model maxStackDepth[GemMan::STACKCOLOR] = 0; // color (defaults to 0, in case GL_ARB_imaging is not supported maxStackDepth[GemMan::STACKTEXTURE] = 2; // texture maxStackDepth[GemMan::STACKPROJECTION] = 2; // projection m_motionBlur = 0.f; initGemWin(); }