错误:“ofTexture”类没有成员“getTextureReference”

时间:2016-05-30 13:57:58

标签: opengl textures shader openframeworks

我正在完成我的第二个学期的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已被其他东西取代了吗?谢谢!

1 个答案:

答案 0 :(得分:1)

如果我正确解释openframeworks来源,您可以直接在ofTexture上致电bind

如果是ofVideoGrabber的实例,则需要致电getTexture