这篇教程C++ DrawScene函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中DrawScene函数的典型用法代码示例。如果您正苦于以下问题:C++ DrawScene函数的具体用法?C++ DrawScene怎么用?C++ DrawScene使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了DrawScene函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: DrawScenevoidMy_TestGLDrawing::OffscreenTest(){ DrawScene(); WriteToFile("color", "color1_unselected.png"); // select cube0 _picker.Pick(GfVec2i(319,221), GfVec2i(320,222)); DrawScene(); WriteToFile("color", "color2_cube0_pickable.png"); HdSelectionSharedPtr selection = _picker.GetSelection(); HdSelection::HighlightMode mode = HdSelection::HighlightModeSelect; TF_VERIFY(selection->GetSelectedPrimPaths(mode).size() == 1); TF_VERIFY(selection->GetSelectedPrimPaths(mode)[0] == SdfPath("/cube0")); // make cube0 unpickable; it should not let us pick cube1 since it occludes SdfPathVector excludePaths = {SdfPath("/cube0")}; _pickablesCol.SetExcludePaths(excludePaths); _picker.SetDoUnpickablesOcclude(true); _picker.Pick(GfVec2i(319,221), GfVec2i(320,222)); DrawScene(); WriteToFile("color", "color3_cube0_unpickable.png"); selection = _picker.GetSelection(); //TF_VERIFY(selection->GetSelectedPrimPaths(mode).size() == 0);}
开发者ID:PixarAnimationStudios,项目名称:USD,代码行数:26,
示例2: EventLoopstatic voidEventLoop(WindowData *winData){ while (1) { static long mask = StructureNotifyMask | ExposureMask | KeyPressMask; XEvent event; while (XCheckWindowEvent(winData->display, winData->window, mask, &event)) { if (event.xany.window == winData->window) { switch (event.type) { case Expose: DrawScene(winData); break; case ConfigureNotify: glViewport(0, 0, event.xconfigure.width, event.xconfigure.height); break; case KeyPress: { char buffer[10]; int r; r = XLookupString(&event.xkey, buffer, sizeof(buffer), NULL, NULL); if (buffer[0] == 27) { /* escape */ return; } } } } } DrawScene(winData); }}
开发者ID:OpenMORDM,项目名称:rgl,代码行数:34,
示例3: GlutDisplayvoid GlutDisplay(){ switch ( viewMode ) { case VIEWMODE_OPENGL: if ( dofImage ) { if ( dofDrawCount < MAX_DOF_DRAW ) { DrawScene(); glReadPixels( 0, 0, camera.imgWidth, camera.imgHeight, GL_RGB, GL_UNSIGNED_BYTE, dofBuffer ); for ( int i=0; i<camera.imgWidth*camera.imgHeight; i++ ) { dofImage[i] = (dofImage[i]*dofDrawCount + dofBuffer[i].ToColor())/(dofDrawCount+1); } dofDrawCount++; } glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT ); glDrawPixels( camera.imgWidth, camera.imgHeight, GL_RGB, GL_FLOAT, dofImage ); if ( dofDrawCount < MAX_DOF_DRAW ) { DrawProgressBar(float(dofDrawCount)/MAX_DOF_DRAW); glutPostRedisplay(); } } else { DrawScene(); } break; case VIEWMODE_IMAGE: glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT ); glDrawPixels( renderImage.GetWidth(), renderImage.GetHeight(), GL_RGB, GL_UNSIGNED_BYTE, renderImage.GetPixels() ); DrawRenderProgressBar(); break; case VIEWMODE_Z: glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT ); if ( ! renderImage.GetZBufferImage() ) renderImage.ComputeZBufferImage(); glDrawPixels( renderImage.GetWidth(), renderImage.GetHeight(), GL_LUMINANCE, GL_UNSIGNED_BYTE, renderImage.GetZBufferImage() ); break; case VIEWMODE_SAMPLECOUNT: glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT ); if ( ! renderImage.GetSampleCountImage() ) renderImage.ComputeSampleCountImage(); glDrawPixels( renderImage.GetWidth(), renderImage.GetHeight(), GL_LUMINANCE, GL_UNSIGNED_BYTE, renderImage.GetSampleCountImage() ); break; case VIEWMODE_IRRADCOMP: glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT ); if ( renderImage.GetIrradianceComputationImage() ) { glDrawPixels( renderImage.GetWidth(), renderImage.GetHeight(), GL_LUMINANCE, GL_UNSIGNED_BYTE, renderImage.GetIrradianceComputationImage() ); } break; } glutSwapBuffers();}
开发者ID:varunk08,项目名称:raytracing,代码行数:48,
示例4: ChoosePixelFormatvoid CMemoryCardView::CRender::ThreadProc(){ unsigned int nPixelFormat = ChoosePixelFormat(m_deviceContext, &m_PFD); SetPixelFormat(m_deviceContext, nPixelFormat, &m_PFD); m_hRC = wglCreateContext(m_deviceContext); wglMakeCurrent(m_deviceContext, m_hRC); glEnable(GL_TEXTURE_2D); glClearColor(1.0, 1.0, 1.0, 1.0); while(!m_threadOver) { while(m_mailBox.IsPending()) { m_mailBox.ReceiveCall(); } Animate(); DrawScene(); Sleep(16); } m_icons.clear(); wglMakeCurrent(NULL, NULL); wglDeleteContext(m_hRC);}
开发者ID:250394,项目名称:Play-,代码行数:26,
示例5: PrepareToDrawvoid rwxGLView::DrawReconditeScene(){ PrepareToDraw(); DrawScene(); SwapBuffers();}
开发者ID:aedotcom,项目名称:recondite,代码行数:7,
示例6: printfvoid OVRScene::RenderForOneEye(const float* pMview, const float* pPersp) const{ printf("Rendering in OVRScene!/n"); if (m_bDraw == false) return; if (pMview == false) return; if (pPersp == false) return; const glm::mat4 modelview = glm::make_mat4(pMview); const glm::mat4 projection = glm::make_mat4(pPersp); // Assemble modelview matrix to lock camera in with real world geometry: // We still have to use the assembled HMD stereo modelview matrices from OVRSDK05AppSkeleton, // but we undo the effects of chassis yaw and position so the frustum follows the viewer. if (m_pHmd != NULL) { const ovrTrackingState ts = ovrHmd_GetTrackingState(m_pHmd, ovr_GetTimeInSeconds()); const ovrPosef& cp = ts.CameraPose; OVR::Matrix4f camMtx = OVR::Matrix4f(); camMtx *= OVR::Matrix4f::Translation(cp.Position) * OVR::Matrix4f(OVR::Quatf(cp.Orientation)); glm::mat4 ogmat = glm::make_mat4(&camMtx.Transposed().M[0][0]); DrawScene(modelview * ogmat, projection); }}
开发者ID:jazztext,项目名称:VRRayTracing,代码行数:30,
示例7: whileint DemoBase::RunDemo(){ MSG msg = { 0 }; mTimer.Reset(); while (msg.message != WM_QUIT) { if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } else { mTimer.Tick(); if (!mAppPaused) { CalculateFrameStats(); UpdateScene(mTimer.DeltaTime()); DrawScene(); } else { Sleep(100); } } } return (int)msg.wParam;}
开发者ID:akasteven,项目名称:DeferredDemo,代码行数:32,
示例8: RENDERING_PASSvoid RENDERING_PASS (){ glViewport(0, 0, windowWidth, windowHeight); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // textureMatrix=biasMatrix*lightProjectionMatrix*lightViewMatrix*cameraViewInverse // store the coordinate conversion matrix to texture matrix[3] // to be used in shader glActiveTexture (GL_TEXTURE3); // use the last texture unit glBindTexture (GL_TEXTURE_2D, depthTextureId); glMatrixMode (GL_TEXTURE); glLoadIdentity(); static float b[16] = {.5, 0,0,0, 0,.5,0,0, 0,0,.5,0, .5,.5,.5,1}; glMultMatrixf (b); // scale and bias MULT_LIGHT_PROJECTION(); MULT_LIGHT_MODELVIEW(); apply_modelview_inverse (); // camera view inverse glMatrixMode (GL_MODELVIEW); // three important settings to use depth texture (see notes) glUseProgram (program); DrawScene();}
开发者ID:terryfeverpitch,项目名称:GLSL,代码行数:25,
示例9: ms_tickvoid ms_tick(void){ DrawScene(); draw_banner(); if (ms.state == MS_EXPANDING) { ms.expandframe++; if (ms.expandframe > EXPAND_LENGTH) ms.state = MS_DISPLAYED; else draw_expand(); } if (ms.state == MS_DISPLAYED) { // scan down effect if (ms.current_row < map.ysize) { draw_row(ms.current_row++); if (ms.current_row < map.ysize) draw_row(ms.current_row++); } // draw map DrawRect(ms.x - 1, ms.y - 1, ms.x + ms.w, ms.y + ms.h, DK_BLUE); DrawSurface(ms.sfc, ms.x, ms.y); // you-are-here dot if (++ms.timer & 8) draw_sprite(ms.px, ms.py, SPR_MAP_PIXELS, 4); // dismissal if (ms.lastbuttondown) { if (!buttondown()) ms.lastbuttondown = false; } else if (buttondown()) { ms.state = MS_CONTRACTING; } } else if (ms.state == MS_CONTRACTING) { ms.expandframe--; if (ms.expandframe <= 0) { int param = (ms.return_gm == GM_INVENTORY) ? 1 : 0; game.setmode(ms.return_gm, param); } else { draw_expand(); } }}
开发者ID:octopuserectus,项目名称:NXEngine-iOS,代码行数:60,
示例10: DrawShadowMappingvoid SceneManager::Draw(){ if (MainEngine::_enableShadows) { DrawShadowMapping(); } else { glUseProgram(MainEngine::shaders["MainShader"]); glUniform1i(glGetUniformLocation(MainEngine::shaders["MainShader"], "bEnableShadowMapping"), 0); DrawScene(); glUseProgram(0); } // ---- Debug Show Depth Texture //glPushMatrix(); //glOrtho(-int(MainEngine::_mainWindow->getSize().x) / 2, MainEngine::_mainWindow->getSize().x / 2, // -int(MainEngine::_mainWindow->getSize().y) / 2, MainEngine::_mainWindow->getSize().y / 2, 1, 2000); //glActiveTexture(GL_TEXTURE0); //glBindTexture(GL_TEXTURE_2D, MainEngine::m_shadowMapFBO.GetShadowMap()); //glEnable(GL_TEXTURE_2D); //glTranslated(0, 0, - 1); //glBegin(GL_QUADS); //glTexCoord2d(0, 0); glVertex3f(0, 0, 0); //glTexCoord2d(1, 0); glVertex3f(MainEngine::_mainWindow->getSize().x / 2, 0, 0); //glTexCoord2d(1, 1); glVertex3f(MainEngine::_mainWindow->getSize().x / 2, MainEngine::_mainWindow->getSize().y / 2, 0); //glTexCoord2d(0, 1); glVertex3f(0, MainEngine::_mainWindow->getSize().y / 2, 0); //glEnd(); //glDisable(GL_TEXTURE_2D); //glPopMatrix();}
开发者ID:domzhaosh,项目名称:BumpShadowRefr-Mapping,代码行数:31,
示例11: SHADOW_MAP_PASSvoid SHADOW_MAP_PASS() // NON-FBO Version{ glClear(GL_DEPTH_BUFFER_BIT); // no output to colorbuffer glViewport(0, 0, shadowMapSize, shadowMapSize); glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity();// save current projection MULT_LIGHT_PROJECTION(); // light projection glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); // viewer: save current modelview (containing Viewing of camera) MULT_LIGHT_MODELVIEW(); // light view // disable texturing in the first pass (if any) // disable lighting too glPushAttrib (GL_ENABLE_BIT | GL_LIGHTING_BIT | GL_COLOR_BUFFER_BIT); //Disable color writes, and use flat shading for speed glColorMask(0, 0, 0, 0); // color buffer bit glShadeModel(GL_FLAT); // lighting bit glDisable (GL_LIGHTING); glDisable (GL_TEXTURE_2D); glPolygonOffset (8.0, 4.0); // IMPORTANT: to remove moire pattern (from z-fighting) glEnable (GL_POLYGON_OFFSET_FILL); glUseProgram(0); DrawScene(); // Draw the scene (fixed function) glPopAttrib(); glMatrixMode(GL_PROJECTION); glPopMatrix(); // restore current projection glMatrixMode(GL_MODELVIEW); glPopMatrix(); // restore Modelview to Vcamera //Read the depth buffer into the shadow map texture glActiveTexture (GL_TEXTURE3); glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, shadowMapSize, shadowMapSize);}
开发者ID:terryfeverpitch,项目名称:GLSL,代码行数:35,
示例12: messageloopint messageloop(){ MSG msg; ZeroMemory(&msg, sizeof(MSG)); while(true) { BOOL PeekMessageL( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg ); if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { if (msg.message == WM_QUIT) break; TranslateMessage(&msg); DispatchMessage(&msg); } else{ // run game code UpdateScene(); DrawScene(); } } return msg.wParam;}
开发者ID:ezeroone02,项目名称:Braynzar_Soft_Tutorials_DX11_Exercise,代码行数:28,
示例13: DrawScenevoid CCg3DTransView::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default DrawScene(); CView::OnTimer(nIDEvent);}
开发者ID:pobingwanghai,项目名称:cg3DTrans-Final,代码行数:7,
示例14: Test3void Test3(){ LoadBCP("data.bcp"); ReadLanguageFile(); InitWindow(); //InitRectDrawing(); //IDirect3DTexture9 *mytex = GetTexture("Interface//LOADING SCREEN 1.tga"); //IDirect3DPixelShader9 *psh = LoadPixelShader("test.psh"); InitScene(); LoadMap("testmap.bcm"); while(!appexit) { BeginDrawing(); //ddev->SetRenderState(D3DRS_ZENABLE, FALSE); //ddev->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE); //ddev->SetPixelShader(psh); //ddev->SetTexture(0, mytex); //DrawRect(0, 0, 640, 480, -1); DrawScene(); EndDrawing(); HandleWindow(); if(keyheld[VK_UP]) camerapos += Vector3(0.0f, 0.0f, walkstep); if(keyheld[VK_DOWN]) camerapos -= Vector3(0.0f, 0.0f, walkstep); if(keyheld[VK_LEFT]) camerapos -= Vector3(walkstep, 0.0f, 0.0f); if(keyheld[VK_RIGHT]) camerapos += Vector3(walkstep, 0.0f, 0.0f); if(keyheld['E']) camerapos += Vector3(0.0f, walkstep, 0.0f); if(keyheld['D']) camerapos -= Vector3(0.0f, walkstep, 0.0f); }}
开发者ID:AdrienTD,项目名称:wkbre,代码行数:29,
示例15: InitGLvoid ViewWindow::draw (){ //bool use_solid = false; // unused if(!valid ()) InitGL (); glClearColor(backgroundColor.x,backgroundColor.y,backgroundColor.z,0.0f); glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity (); SetupProjectionMatrix (); bSelecting=false; selector_count=0; DrawScene (); SetRasterMatrix (); Draw2D (); if (bBoxSelect) { fltk::glsetcolor(fltk::WHITE); fltk::glstrokerect(click.x,click.y,last.x-click.x, last.y-click.y); }}
开发者ID:SpliFF,项目名称:upspring,代码行数:27,
示例16: whileint D3DApplication::Run(){ MSG message = {0}; m_GameTimer.Reset(); while (message.message != WM_QUIT) { // If there are Window messages then process them. if (PeekMessage(&message, nullptr, 0, 0, PM_REMOVE)) { TranslateMessage(&message); DispatchMessage(&message); } // Otherwise, do animation/game stuff. else { m_GameTimer.Tick(); if(!m_IsPaused) { UpdateScene(m_GameTimer.GetDeltaTime()); } else { Sleep(50); } DrawScene(); } } return int(message.wParam);}
开发者ID:bobeff,项目名称:blockout,代码行数:34,
示例17: mainint main(int argc, char* argv[]){ //初始化NGE分为VIDEO,AUDIO,这里是只初始化VIDEO,如果初始化所有用INIT_VIDEO|INIT_AUDIO,或者INIT_ALL NGE_Init(INIT_VIDEO); //初始化按键处理btn_down是按下响应,后面是弹起时的响应,0是让nge处理home消息(直接退出),填1就是让PSP系统处理 //home消息,通常填1正常退出(1.50版的自制程序需要填0) InitInput(btn_down,NULL,1); //最后一个参数是psp swizzle优化,通常填1 p_bg = image_load("images/demo0.jpg",DISPLAY_PIXEL_FORMAT_8888,1); if(p_bg == NULL) { printf("can not open file/n"); } p_logo = image_load("images/nge2logo.png",DISPLAY_PIXEL_FORMAT_4444,1); if(p_logo == NULL) { printf("can not open file/n"); } //创建一个半透明的图片遮罩color logomask1 = CreateColor(255,255,255,128,p_logo->dtype); //随便创建一个图片遮罩color logomask2 = CreateColor(100,100,100,255,p_logo->dtype); while ( !game_quit ) { ShowFps(); InputProc(); DrawScene(); } image_free(p_bg); image_free(p_logo); NGE_Quit(); return 0;}
开发者ID:eledot,项目名称:libnge2,代码行数:32,
示例18: FullDraw// рисуем сцену в соответствии со стерео-режимомvoid FullDraw(){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); DrawScene();}
开发者ID:hksonngan,项目名称:astrocytes,代码行数:8,
示例19: DrawScenevoid Renderer::RenderScene() { DrawScene(); DrawPostProcess(); PresentScene();DrawDebugTexture(); SwapBuffers();}
开发者ID:LT-Kerrigan,项目名称:RenderingEngine,代码行数:7,
示例20: QGLWidgetTesseractWidget::TesseractWidget(Socket *_TheSocket,int PlayerNum,QString PlayerName,QGLWidget *parent) : QGLWidget(parent), ui(new Ui::TesseractWidget) { ui->setupUi(this); TheSocket=_TheSocket; QThread *tt=new QThread(TheSocket); TheSocket->moveToThread(tt); tt->start(); connect(TheSocket,SIGNAL(readVariantMap(int,QString,quint16,const QVariantMap&)),this,SLOT(recvVariantMap(int,QString,quint16,const QVariantMap&))); connect(TheSocket,SIGNAL(sockDisconnect(int,QString,quint16)),this,SLOT(sockDisconnect(int,QString,quint16))); memset(KeyStatus,0,sizeof(KeyStatus)); creatingblock=0; mousetracked=1; TheWorld=new World; connect(TheWorld,SIGNAL(log(const QString&)),this,SLOT(Log(const QString&))); connect(TheWorld,SIGNAL(releaseMouse()),this,SLOT(releaseMouse())); connect(TheWorld,SIGNAL(trackMouse()),this,SLOT(trackMouse())); connect(TheWorld,SIGNAL(renderText2D(Coordinate,const QString&)),this,SLOT(renderText2D(Coordinate,const QString&))); connect(TheWorld,SIGNAL(renderText3D(Coordinate,const QString&,int)),this,SLOT(renderText3D(Coordinate,const QString&,int))); Player tp; tp.Name=PlayerName; TheWorld->Players.insert(PlayerNum,tp); TheWorld->Myself=TheWorld->Players.find(PlayerNum); PM=new PluginManager; PM->ClientLoadFolder("plugins",TheWorld,TheSocket); QApplication::setOverrideCursor(Qt::BlankCursor); gt=new GameThread(TheWorld,KeyStatus,TheSocket); gt->start(); GLTimer=new QTimer; GLTimer->start(16); connect(GLTimer,SIGNAL(timeout()),this,SLOT(DrawScene())); TheWorld->RegisterBlock(Block("Stone",Coordinate(.2,.2,.2),"")); currentblocktype="Stone"; QVariantMap qvm; qvm.insert("type","getbasic"); emit TheSocket->sendVariantMap(qvm,-1);}
开发者ID:yvbbrjdr,项目名称:Tesseract,代码行数:35,
|