Generate geometry.
141 size_t _numVertices = _resX * _resY;
142 bool _resized =
vertices_.size() != _numVertices;
160 for (
size_t x = 0; x < _resX; ++x) {
161 for (
size_t y = 0; y < _resY; ++y) {
164 if (((x + 1) < _resX) && ((y + 1) < _resY)) {
165 *(_indexIt++) = (x + 0) * _resY + (y + 0);
166 *(_indexIt++) = (x + 1) * _resY + (y + 0);
167 *(_indexIt++) = (x + 1) * _resY + (y + 1);
168 *(_indexIt++) = (x + 0) * _resY + (y + 1);
172 float tx = x / (float)(_resX - 1);
173 float ty = y / (float)(_resY - 1);
174 _vertexIt->setTexCoord(QVector2D(tx, 1.0 - ty));
204 for (
size_t x = 0; x < _resX; ++x) {
205 *(_gridVertexIt++) =
vertices_[x * _resY + y].pos();
208 *(_gridIndexIt++) = i;
209 *(_gridIndexIt++) = i + 1;
217 for (
size_t y = 0; y < _resY; ++y) {
218 *(_gridVertexIt++) =
vertices_[x * _resY + y].pos();
221 *(_gridIndexIt++) = i;
222 *(_gridIndexIt++) = i + 1;
std::vector< GLuint > indices_
Definition: WarpGrid.h:62
std::unique_ptr< Circle > circle_
Definition: WarpGrid.h:59
void bufferStaticElementArray(BUF const &_buf)
Copy static index array onto GPU.
Definition: VBO.h:59
VBO gridVertexVbo_
Definition: WarpGrid.h:65
std::vector< GLuint > gridIndices_
Definition: WarpGrid.h:63
bool hasChanged() const
Return true if warp grid has changed.
Definition: WarpGrid.cpp:251
VBO gridIndexVbo_
Definition: WarpGrid.h:65
int subdivisions() const
Return number of subdivisions.
Definition: WarpGrid.cpp:113
std::vector< QVector2D > gridVertices_
Definition: WarpGrid.h:61
VBO vertexVbo_
Definition: WarpGrid.h:64
std::vector< Vertex2D > vertices_
Definition: WarpGrid.h:60
QVector2D getWarpPointPos(int x, int y) const
Return position of warp point.
Definition: WarpGrid.cpp:104
void gen()
Generate a new VBO and get the associated ID.
Definition: VBO.cpp:38
int horizontal() const
Return horizontal resolution.
Definition: WarpGrid.cpp:68
void bufferStaticArray(BUF const &_buf)
Copy static vertex array onto GPU.
Definition: VBO.h:44
int vertical() const
Return vertical resolution.
Definition: WarpGrid.cpp:63
void primaryContextSwitch(ContextFunctor f)
Switch to primary context to create OpenGL objects like textures etc.
Definition: ContextSwitch.cpp:40
VBO indexVbo_
Definition: WarpGrid.h:64
omni::WarpGrid const & warpGrid_
Definition: WarpGrid.h:67