我正在完成我的第二个学期的C ++编程,并希望为我的输出增添趣味。我对C ++非常熟悉,但对于oF来说却是新手。我一直在关注网站上的oF书中的教程,并且正在使用纹理的Shaders章节:http://openframeworks.cc/ofBook/chapters/shaders.html#addingtextures
在本节中,我收到一个错误(我正在使用Visual Studio):class“ofTexture”没有成员“getReferenceTexture”。
#include "ofApp.h"
void ofApp::setup() {
// setup
plane.mapTexCoordsFromTexture(img.getTextureReference());
}
void ofApp::draw() {
// bind our texture. in our shader this will now be tex0 by default
// so we can just go ahead and access it there.
img.getTextureReference().bind();
// start our shader, in our OpenGL3 shader this will automagically set
// up a lot of matrices that we want for figuring out the texture matrix
// and the modelView matrix
shader.begin();
// get mouse position relative to center of screen
float mousePosition = ofMap(mouseX, 0, ofGetWidth(), plane.getWidth(), -plane.getWidth(), true);
shader.setUniform1f("mouseX", mousePosition);
ofPushMatrix();
ofTranslate(ofGetWidth()/2, ofGetHeight()/2);
plane.draw();
ofPopMatrix();
shader.end();
img.getTextureReference().unbind();
}
我打开了ofTexture.h和.cpp文件,确定没有名为getTextureReference的成员。我浏览了oF网站和论坛,浏览了堆栈交换,并进行了谷歌搜索,但我没有清楚地了解这个调用应该做什么,看看是否有解决方法或其他功能我应该打电话。 ofTexture :: getTextureReference已被其他东西取代了吗?谢谢!
答案 0 :(得分:1)
如果我正确解释openframeworks来源,您可以直接在ofTexture
上致电bind。
如果是ofVideoGrabber
的实例,则需要致电getTexture