//************************************************************ ///CUSTOMIZATION: Feel free to add things for interaction here //************************************************************ //-------------------------------------------------------------- void testApp::keyPressed(int key){ if(key == 'f'){ ofToggleFullscreen(); } if(!allLoaded) return; if(currentlyRendering){ if(key == ' '){ finishRender(); } return; } if(key == ' '){ if(lowResPlayer->getSpeed() != 0.0){ lowResPlayer->setSpeed(0); // stopCameraPlayback(); } else{ lowResPlayer->play(); lowResPlayer->setSpeed(1.0); } } if(key == 'i'){ timeline.setCurrentTimeToInPoint(); } if(key == 'o'){ timeline.setCurrentTimeToOutPoint(); } //RECORD CAMERA if(key == 'R'){ toggleCameraRecord(); } //PLAYBACK CAMERA if(key == 'P'){ toggleCameraPlayback(); } if(key == '\t'){ videoTimelineElement.toggleThumbs(); depthSequence.toggleThumbs(); } }
void SORE_Graphics::Pipe::Render ( const camera_table& cameras, Renderbuffer_map_t& renderbuffers, render_list& list, GLCommandList& renderQueue, BufferManager* bm ) { render_list& newList = beginRender(cameras, renderbuffers, list, renderQueue, bm); pipe_vector::iterator i; for(i = children.begin(); i != children.end(); ++i) { i->Render(cameras, renderbuffers, newList, renderQueue, bm); } finishRender(cameras, renderbuffers, list, renderQueue, bm); }
//-------------------------------------------------------------- void testApp::draw(){ ofBackground(255*.2); if(allLoaded){ if(!viewComps){ fbo.begin(); ofClear(0, 0, 0); cam.begin(ofRectangle(0, 0, fbo.getWidth(), fbo.getHeight())); drawGeometry(); cam.end(); fbo.end(); //cout << timeline.getDrawRect().height << " tl height " << endl; if(!ofGetMousePressed(0)){ timeline.setOffset(ofVec2f(0, ofGetHeight() - timeline.getDrawRect().height)); } fboRectangle.height = (timeline.getDrawRect().y - fboRectangle.y - 20); fboRectangle.width = 16.0/9.0*fboRectangle.height; ofDrawBitmapString(currentCompositionDirectory, ofPoint(fboRectangle.x, fboRectangle.y-15)); if(presentMode){ fboRectangle.x = 0; fboRectangle.y = 0; fboRectangle.height = ofGetHeight(); fboRectangle.width = 16.0/9.0*fboRectangle.height; } else { fboRectangle.x = 250; fboRectangle.y = 100; fboRectangle.height = (timeline.getDrawRect().y - fboRectangle.y - 20); fboRectangle.width = 16.0/9.0*fboRectangle.height; ofDrawBitmapString(currentCompositionDirectory, ofPoint(fboRectangle.x, fboRectangle.y-15)); } fbo.getTextureReference().draw(fboRectangle); if(currentlyRendering){ fbo.getTextureReference().readToPixels(savingImage.getPixelsRef()); char filename[512]; sprintf(filename, "%s/save_%05d.png", saveFolder.c_str(), currentRenderFrame); savingImage.saveImage(filename); //cout << "at save time its set to " << hiResPlayer->getCurrentFrame() << endl; ///////frame debugging // numFramesRendered++; // cout << " Rendered (" << numFramesRendered << "/" << numFramesToRender << ") +++ current render frame is " << currentRenderFrame << " quick time reports frame " << hiResPlayer->getCurrentFrame() << endl; // sprintf(filename, "%s/TEST_FRAME_%05d_%05d_B.png", saveFolder.c_str(), currentRenderFrame, hiResPlayer->getCurrentFrame()); // savingImage.saveImage(filename); // savingImage.setFromPixels(hiResPlayer->getPixelsRef()); // savingImage.saveImage(filename); ////// //stop when finished currentRenderFrame++; if(currentRenderFrame > timeline.getOutFrame()){ finishRender(); } } if(sampleCamera){ ofDrawBitmapString("RECORDING CAMERA", ofPoint(600, 10)); } } gui.setDraw(!currentlyRendering && !presentMode); if(!presentMode && !viewComps){ timeline.draw(); } if(!presentMode){ gui.draw(); } ofSetColor(255); } if(viewComps){ ofPushStyle(); for(int i = 0; i < comps.size(); i++){ if(comps[i]->wasRenderedInBatch){ ofSetColor(50,200,100, 200); ofRect(*comps[i]->toggle); } else if(comps[i]->batchExport){ ofSetColor(255,255,100, 200); ofRect(*comps[i]->toggle); } } ofPopStyle(); } }