void initialize() { glClearColor(0.2f,0.3f,0.4f,1.0f); DemoShaders * cg = new DemoShaders(); cgshaders = static_cast<CgShaders*>(cg); int shader_profile = cgshaders->initialize(); fsquad = new unsigned int[1]; generate_screen_quad(fsquad); vboids.push_back(fsquad[0]); scene_fbo = new RenderTexture(win_w, win_h, GL_TEXTURE_RECTANGLE); scene_fbo->InitColor_Tex(); scene_fbo->InitDepth_Tex(); fbos.push_back(scene_fbo); if (fbo_samples > static_cast<int>(max_fbo_samples)) fbo_samples = static_cast<int>(max_fbo_samples); ms_fbo = new RenderTexture(win_w, win_h, GL_TEXTURE_RECTANGLE, fbo_samples, 0); ms_fbo->InitColor_RB(); ms_fbo->InitDepth_RB(); fbos.push_back(ms_fbo); glBindFramebuffer(GL_FRAMEBUFFER, GL_NONE); camera = new Camera(); camera->init_scale_and_bias_matrix(); camera->m_heading = 0.0f; camera->m_pitch = 0.0f; camera->set_position(0.0f,10.0f,0.0f); bmf_font = BMF_GetFont(BMF_kScreen15); bmf_texture = BMF_GetFontTexture(bmf_font); GLuint * bmf_vboid = BMF_GetVBO(bmf_font); textures.push_back(bmf_texture); if (bmf_vboid) { vboids.push_back(bmf_vboid[0]); vboids.push_back(bmf_vboid[1]); } }
LoggerWindow *loggerwindow_new(MultiTestApp *app) { GHOST_SystemHandle sys= multitestapp_get_system(app); GHOST_TUns32 screensize[2]; GHOST_WindowHandle win; GHOST_GetMainDisplayDimensions(sys, &screensize[0], &screensize[1]); win= GHOST_CreateWindow(sys, "MultiTest:Logger", 40, screensize[1]-432, 800, 300, GHOST_kWindowStateNormal, GHOST_kDrawingContextTypeOpenGL, FALSE, FALSE); if (win) { LoggerWindow *lw= MEM_callocN(sizeof(*lw), "loggerwindow_new"); int bbox[2][2]; lw->app= app; lw->win= win; #ifdef USE_BMF lw->font= BMF_GetFont(BMF_kScreen12); lw->fonttexid= BMF_GetFontTexture(lw->font); BMF_GetBoundingBox(lw->font, &bbox[0][0], &bbox[0][1], &bbox[1][0], &bbox[1][1]); lw->fontheight= rect_height(bbox); #else lw->font= BLF_load_mem("default", (unsigned char*)datatoc_bfont_ttf, datatoc_bfont_ttf_size); BLF_size(lw->font, 11, 72); lw->fontheight= BLF_height(lw->font, "A_"); #endif lw->nloglines= lw->logsize= 0; lw->loglines= MEM_mallocN(sizeof(*lw->loglines)*lw->nloglines, "loglines"); lw->scroll= scrollbar_new(2, 40); GHOST_SetWindowUserData(lw->win, windowdata_new(lw, loggerwindow_handle)); loggerwindow_do_reshape(lw); return lw; } else { return NULL; } }