struct CCL::IGraphicsFactory3D
Overview
Factory interface for 3D resources. More…
#include <igraphics3d.h> struct IGraphicsFactory3D: public CCL::IUnknown { // methods virtual IGraphicsShader3D*CCL_API createShader ( GraphicsShader3DType type, UrlRef path ) = 0; virtual IGraphicsShader3D*CCL_API createStockShader ( GraphicsShader3DType type, StringID name ) = 0; virtual IVertexFormat3D*CCL_API createVertexFormat ( const VertexElementDescription description [], uint32 count, const IGraphicsShader3D* shader ) = 0; virtual IGraphicsBuffer3D*CCL_API createBuffer ( GraphicsBuffer3DType type, BufferUsage3D usage, uint32 sizeInBytes, uint32 strideInBytes, const void* initialData = nullptr ) = 0; virtual IGraphicsTexture2D*CCL_API createTexture ( IBitmap* bitmap, TextureFlags3D flags ) = 0; virtual IGraphicsPipeline3D*CCL_API createPipeline () = 0; virtual IShaderParameterSet3D*CCL_API createShaderParameterSet () = 0; virtual IShaderBufferWriter3D*CCL_API createShaderBufferWriter () = 0; };
Inherited Members
public: // methods virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0; virtual unsigned int CCL_API retain () = 0; virtual unsigned int CCL_API release () = 0;
Detailed Documentation
Factory interface for 3D resources.
Methods
virtual IGraphicsTexture2D*CCL_API createTexture ( IBitmap* bitmap, TextureFlags3D flags ) = 0
Create a new texture.
If called multiple times using the same bitmap and the kTextureImmutable flag, this method returns the same instance.