35 #ifndef IECOREGL_SPHEREPRIMITIVE_H
36 #define IECOREGL_SPHEREPRIMITIVE_H
38 #include "IECoreGL/Export.h"
39 #include "IECoreGL/Primitive.h"
44 IE_CORE_FORWARDDECLARE( Buffer )
46 class IECOREGL_API SpherePrimitive : public Primitive
51 IE_CORE_DECLARERUNTIMETYPEDEXTENSION( IECoreGL::SpherePrimitive, SpherePrimitiveTypeId, Primitive );
55 SpherePrimitive(
float radius = 1,
float zMin = -1,
float zMax = 1,
float thetaMax = 360 );
56 ~SpherePrimitive()
override;
58 Imath::Box3f bound()
const override;
61 void renderInstances(
size_t numInstances = 1 )
const override;
70 IECore::UIntVectorDataPtr m_vertIds;
71 mutable IECoreGL::ConstBufferPtr m_vertIdsBuffer;
75 IE_CORE_DECLAREPTR( SpherePrimitive );
79 #endif // IECOREGL_SPHEREPRIMITIVE_H
The namespace within which all CoreGL functionality is defined.
Definition: AlphaTexture.h:41
Definition: PrimitiveVariable.h:47