struct CCL::IGraphics3D

Interface provided by framework for drawing 3D primitives with GPU hardware-acceleration.

#include <igraphics3d.h>

struct IGraphics3D: public CCL::IUnknown
{
    // methods

    virtual tresult CCL_API setPipeline (IGraphicsPipeline3D* pipeline) = 0;

    virtual tresult CCL_API setVertexBuffer (
        IGraphicsBuffer3D* buffer,
        uint32 stride
    ) = 0;

    virtual tresult CCL_API setIndexBuffer (
        IGraphicsBuffer3D* buffer,
        DataFormat3D format
    ) = 0;

    virtual tresult CCL_API setShaderParameters (IShaderParameterSet3D* parameters) = 0;
    virtual tresult CCL_API draw (uint32 startVertex, uint32 vertexCount) = 0;

    virtual tresult CCL_API drawIndexed (
        uint32 startIndex,
        uint32 indexCount,
        int32 baseVertex
    ) = 0;

    virtual tresult CCL_API drawGeometry (IGeometry3D* geometry) = 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;