13 #ifndef OGLPLUS_SHAPES_SCREEN_1107121519_HPP
14 #define OGLPLUS_SHAPES_SCREEN_1107121519_HPP
33 :
public DrawingInstructionWriter
45 GLuint
Normals(std::vector<T>& dest)
const
50 for(
unsigned i=0; i!=4; ++i)
56 assert(k == dest.size());
68 for(
unsigned i=0; i!=4; ++i)
74 assert(k == dest.size());
86 for(
unsigned i=0; i!=4; ++i)
92 assert(k == dest.size());
116 assert(k == dest.size());
122 template <
typename T>
140 assert(k == dest.size());
145 #if OGLPLUS_DOCUMENTATION_ONLY
157 typedef VertexAttribsInfo<
164 VertexTexCoordinatesTag
170 template <
typename T>
188 auto instructions = this->MakeInstructions();
191 operation.
method = DrawOperation::Method::DrawArrays;
193 operation.
first = GLuint(0);
197 this->AddInstruction(instructions, operation);
206 #endif // include guard
Implementation of shape draw instructions.
DrawingInstructions Instructions(Default=Default()) const
Returns the instructions for rendering.
Definition: screen.hpp:186
void BoundingSphere(oglplus::Sphere< T > &bounding_sphere) const
Queries the bounding sphere coordinates and dimensions.
Definition: screen.hpp:171
GLuint Positions(std::vector< T > &dest) const
Makes vertex coordinates and returns number of values per vertex.
Definition: screen.hpp:99
GLuint Bitangents(std::vector< T > &dest) const
Makes vertex bi-tangents and returns number of values per vertex.
Definition: screen.hpp:81
IndexArray Indices(Default=Default()) const
Returns element indices that are used with the drawing instructions.
Definition: screen.hpp:180
GLuint first
The first element.
Definition: draw.hpp:111
FaceOrientation
Face orientation enumeration.
Definition: face_mode.hpp:62
OpenGL face type-related enumeration.
FaceOrientation FaceWinding(void) const
Returns the winding direction of faces.
Definition: screen.hpp:38
GLuint Normals(std::vector< T > &dest) const
Makes vertex normals and returns number of values per vertex.
Definition: screen.hpp:45
PrimitiveType mode
The primitive type to be used to draw.
Definition: draw.hpp:108
GLuint restart_index
Primitive restart index.
Definition: draw.hpp:126
GLuint TexCoordinates(std::vector< T > &dest) const
Makes texture-coorinates and returns number of values per vertex.
Definition: screen.hpp:123
static GLuint NoRestartIndex(void)
Special constant for disabling primitive restart.
Definition: draw.hpp:117
Structure containing information about how to draw a part of a shape.
Definition: draw.hpp:100
GLuint count
Count of elements.
Definition: draw.hpp:114
Class providing vertex attributes and instructions for rendering of a Screen.
Definition: screen.hpp:32
Method method
The method to be used to draw.
Definition: draw.hpp:106
VertexAttribsInfo< Screen > VertexAttribs
Vertex attribute information for this shape builder.
Definition: screen.hpp:155
Classes providing additional information about the shape builders.
GLuint phase
The phase of the drawing process.
Definition: draw.hpp:135
Class encapsulating the instructions for drawing of a shape.
Definition: draw.hpp:219
Class implementing sphere-related functionality.
Definition: sphere.hpp:29
GLuint Tangents(std::vector< T > &dest) const
Makes vertex tangents and returns number of values per vertex.
Definition: screen.hpp:63
std::vector< GLuint > IndexArray
The type of index container returned by Indices()
Definition: screen.hpp:177