35 #ifndef IECORERI_SXRENDERER_H
36 #define IECORERI_SXRENDERER_H
38 #include "IECoreRI/TypeIds.h"
40 #include "IECore/Renderer.h"
42 #include "IECoreImage/ImagePrimitive.h"
44 #include "IECoreRI/Export.h"
49 IE_CORE_FORWARDDECLARE( SXRendererImplementation );
57 ~SXRenderer()
override;
59 IE_CORE_DECLARERUNTIMETYPEDEXTENSION( IECoreRI::SXRenderer, SXRendererTypeId,
IECore::Renderer );
61 void setOption(
const std::string &name, IECore::ConstDataPtr value )
override;
62 IECore::ConstDataPtr getOption(
const std::string &name )
const override;
65 void display(
const std::string &name,
const std::string &type,
const std::string &data,
const IECore::CompoundDataMap ¶meters )
override;
67 void worldBegin()
override;
68 void worldEnd()
override;
70 void transformBegin()
override;
71 void transformEnd()
override;
72 void setTransform(
const Imath::M44f &m )
override;
73 void setTransform(
const std::string &coordinateSystem )
override;
74 Imath::M44f getTransform()
const override;
75 Imath::M44f getTransform(
const std::string &coordinateSystem )
const override;
76 void concatTransform(
const Imath::M44f &m )
override;
77 void coordinateSystem(
const std::string &name )
override;
79 void attributeBegin()
override;
80 void attributeEnd()
override;
82 void setAttribute(
const std::string &name, IECore::ConstDataPtr value )
override;
83 IECore::ConstDataPtr getAttribute(
const std::string &name )
const override;
85 void shader(
const std::string &type,
const std::string &name,
const IECore::CompoundDataMap ¶meters )
override;
86 void light(
const std::string &name,
const std::string &handle,
const IECore::CompoundDataMap ¶meters )
override;
87 void illuminate(
const std::string &lightHandle,
bool on )
override;
89 void motionBegin(
const std::set<float> × )
override;
90 void motionEnd()
override;
101 void mesh( IECore::ConstIntVectorDataPtr vertsPerFace, IECore::ConstIntVectorDataPtr vertIds,
const std::string &interpolation,
const IECore::PrimitiveVariableMap &primVars )
override;
103 void nurbs(
int uOrder, IECore::ConstFloatVectorDataPtr uKnot,
float uMin,
float uMax,
int vOrder, IECore::ConstFloatVectorDataPtr vKnot,
float vMin,
float vMax,
const IECore::PrimitiveVariableMap &primVars )
override;
109 void procedural( IECore::Renderer::ProceduralPtr proc )
override;
112 void instanceEnd()
override;
113 void instance(
const std::string &name )
override;
118 void editEnd()
override;
128 IECore::CompoundDataPtr shade(
const IECore::CompoundData *points,
const Imath::V2i &gridSize )
const;
131 IECore::CompoundDataPtr shadePlane(
const Imath::V2i &resolution )
const;
133 IECoreImage::ImagePrimitivePtr shadePlaneToImage(
const Imath::V2i &resolution )
const;
138 IECoreRI::SXRendererImplementationPtr m_implementation;
142 IE_CORE_DECLAREPTR( SXRenderer );
146 #endif // IECORERI_SXRENDERER_H
Definition: CompoundData.h:47
The IECoreRI namespace holds all the functionality implemented in libIECoreRI.
Definition: IECoreRI.h:41
Definition: Renderer.h:93
std::map< InternedString, DataPtr > CompoundDataMap
The type of Data held by the CompoundData typedef.
Definition: CompoundDataBase.h:46
std::map< std::string, PrimitiveVariable > PrimitiveVariableMap
A simple type to hold named PrimitiveVariables.
Definition: PrimitiveVariable.h:107