本文整理汇总了C++中ofVideoPlayer::getTexture方法的典型用法代码示例。如果您正苦于以下问题:C++ ofVideoPlayer::getTexture方法的具体用法?C++ ofVideoPlayer::getTexture怎么用?C++ ofVideoPlayer::getTexture使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ofVideoPlayer
的用法示例。
在下文中一共展示了ofVideoPlayer::getTexture方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw
void draw(){
wc.begin();
if(!switchVideo){
wc.setUniformTexture("colorMap", img.getTexture(), 1);
wc.setUniformTexture("heightMap",gray.getTexture(), 2);
}
else{
wc.setUniformTexture("colorMap", player.getTexture(), 1);
fboDepth.begin();
player.draw(0,0);
fboDepth.end();
wc.setUniformTexture("heightMap",fboDepth.getDepthTexture(),2);
}
wc.setUniform1f("time", ofGetElapsedTimef()*time);
wc.setUniform1f("gradientStep", stepGradient);
wc.setUniform1f("advectStep", advectStep);
wc.setUniform1f("flipHeightMap",flipHeightMap);
wc.setUniform4f("advectMatrix",advectMatrix->w,advectMatrix->x,advectMatrix->y,advectMatrix->z);
fbo.draw(0,0);
wc.end();
img.draw(0,0,img.getWidth()/4,img.getHeight()/4);
player.draw(img.getWidth()/4,0,img.getWidth()/4,img.getHeight()/4);
gui.draw();
}
示例2: draw
void draw() {
ofBackground(0);
ofPushMatrix();
ofPushStyle();
float scaleFactor = ofGetHeight() / (float) MAX(1, video.getHeight());
ofScale(scaleFactor, scaleFactor);
ofTranslate(0, -verticalOffset);
float totalStability = ofClamp(ofMap(smoothedMotionValue, motionMin, motionMax, 0, stability), 0, 1);
int n = contours.size();
for(int i = 0; i < n; i++) {
cv::Rect cur = contours.getBoundingRect(i);
float w = cur.width, h = cur.height;
float sx = cur.x, sy = cur.y;
buffer.begin();
ofDisableBlendMode();
// clear buffer area
ofClear(0, 0);
// draw filled shape (could blur here)
ofPushMatrix();
ofSetColor(255);
ofFill();
ofBeginShape();
vector<cv::Point>& vertices = contours.getContour(i);
for(int j = 0; j < vertices.size(); j++) {
ofVertex(vertices[j].x, vertices[j].y);
}
ofEndShape();
ofPopMatrix();
// draw body image
ofEnableBlendMode(OF_BLENDMODE_MULTIPLY);
ofSetColor(255);
video.getTexture().drawSubsection(sx, sy, w, h, sx, sy);
buffer.end();
ofEnableBlendMode(OF_BLENDMODE_ALPHA);
ofPushMatrix();
ofVec2f center = toOf(contours.getCenter(i));
ofVec2f offset = center - bodyCenter;
float orientation = atan2f(offset.y, offset.x);
float spread = totalStability * spreadAmplitude;
ofVec2f position = bodyCenter + offset + ofVec2f(offset.x, 0) * spread;
float id = orientation; //contours.getLabel(i) % 3;
float baseRotation = rotationRate * ofGetElapsedTimef() + id;
float rotation = ofLerp(sin(baseRotation), ofSignedNoise(baseRotation), rotationNoise);
rotation *= rotationAmplitude * totalStability;
float baseScale = scaleRate * ofGetElapsedTimef() + id;
float scale = 1 + scaleAmplitude * ofLerp(sin(baseScale), ofSignedNoise(baseScale), scaleNoise) * totalStability;
ofPushStyle();
ofSetColor(tintRed, tintGreen, tintBlue);
ofTranslate(position);
for(int j = 0; j < repetitionSteps; j++) {
ofPushMatrix();
float rotationAmount = ofMap(j, -1, repetitionSteps, 0, rotation);
ofRotate(rotationAmount);
// ofVec3f axis(0, 0, 1);
// ofRotate(rotationAmount, axis.x, axis.y, axis.z);
float curScale = ofMap(j, -1, repetitionSteps, 1, scale);
ofScale(curScale, curScale, curScale);
buffer.getTextureReference().drawSubsection(-w / 2, -h / 2, 0, w, h, sx, sy);
ofPopMatrix();
}
ofPopStyle();
if(debug) {
ofDrawBitmapStringHighlight(ofToString(contours.getLabel(i)), 0, 0);
}
ofPopMatrix();
}
ofPopStyle();
ofPopMatrix();
ofEnableAlphaBlending();
if(debug) {
ofPushStyle();
ofSetColor(255);
ofNoFill();
ofSetLineWidth(2);
ofDrawRectangle(0, 0, video.getWidth(), video.getHeight());
video.draw(0, 0);
ofPopStyle();
ofPushStyle();
ofEnableBlendMode(OF_BLENDMODE_ADD);
//.........这里部分代码省略.........