Browse Source

Add `_perspectiveWarping` flag to `QuadSurface`

master
Krisjanis Rijnieks 10 years ago
parent
commit
c3f687172e
  1. 16
      src/Surfaces/QuadSurface.cpp
  2. 4
      src/Surfaces/QuadSurface.h

16
src/Surfaces/QuadSurface.cpp

@ -4,6 +4,7 @@ namespace ofx {
namespace piMapper {
QuadSurface::QuadSurface(){
_perspectiveWarping = false;
setup();
}
@ -78,10 +79,11 @@ void QuadSurface::draw(){
return;
}
/*if(mesh.haveVertsChanged() || mesh.haveTexCoordsChanged()){
if(mesh.haveVertsChanged() || mesh.haveTexCoordsChanged()){
calculate4dTextureCoords();
}*/
/*
}
if(_perspectiveWarping){
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glTexCoordPointer(4, GL_FLOAT, 0, quadTexCoordinates);
glVertexPointer(3, GL_FLOAT, 0, quadVertices);
@ -89,11 +91,11 @@ void QuadSurface::draw(){
source->getTexture()->bind();
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_BYTE, quadIndices);
source->getTexture()->unbind();
*/
}else{
source->getTexture()->bind();
mesh.draw();
source->getTexture()->unbind();
}
}
void QuadSurface::setVertex(int index, ofVec2f p){
@ -281,5 +283,9 @@ void QuadSurface::calculate4dTextureCoords(){
quadTexCoordinates[15] = q3;
}
void QuadSurface::setPerspectiveWarping(bool b){
_perspectiveWarping = b;
}
} // namespace piMapper
} // namespace ofx

4
src/Surfaces/QuadSurface.h

@ -36,12 +36,16 @@ class QuadSurface : public BaseSurface {
vector <ofVec3f> & getVertices();
vector <ofVec2f> & getTexCoords();
void setPerspectiveWarping(bool b);
private:
void calculate4dTextureCoords();
GLfloat quadVertices[12];
GLubyte quadIndices[6];
GLfloat quadTexCoordinates[16];
bool _perspectiveWarping;
};
} // namespace piMapper

Loading…
Cancel
Save