XRenderData

Inherited from NULL

Inherited by NULL

Friend class NULL

Description

XRenderData封装了用于OpenGL三维显示的渲染数据结构体,它将一次典型的OpenGL渲染中所使用的各种顶点数据都组装在该结构体中,包括顶点数组、法线数组、边标志位数组、纹理数组、顶点编码数组、顶点序号数组、值数组、变形向量数组等,开发者根据需要将所需数据分别存入到对应数组中,供XRender的渲染接口调用完成绘制。

Members

Private interface


ulong ulCid

关联的功能命令ID

int iMode

渲染模式(面、线、点)

int iMethod

渲染数据的构造方法

int iVertexCount

渲染数据顶点数

FArray vertexArr

顶点坐标数组

FArray normalArr

顶点法向数组

FArray texArr

顶点纹理数组

IArray colorArr

顶点颜色数组

IArray elColorArr

顶点单元编码数组

IArray indexArr

顶点索引数组

FArray valueArr

顶点值数组

FArray vectorXArr

顶点矢量属性X数组

FArray vectorYArr

顶点矢量属性Y数组

FArray vectorZArr

顶点矢量属性Z数组


XRenderData(int mode = Render_Tri, int ver_size = 0, int index_size = 0)

~XRenderData()

void makeSolidCube(const real * center, const real * size)

void makeSolidSphere(const real * center, const real * r)

void makeSolidCylinder(const real * center, real baseR, real topR, real height)

void makeSolidArrow(real H, real w, real r, real angle)

void makeLineArrow(real H, real w, real r, real angle)

void makeLine(const real * start, const real * end)

void makeTris(const Vector3r * pts, int ptCount)

void makePoints(const Vector3r * pts, int ptCount)

XRenderData & operator = (const XRenderData & r)

XRenderData(const XRenderData & r)

void allocVertex(int ver_size)

void allocNormal(int normal_size = 0)

void allocTex(int normal_size = 0)

void allocIndex(int indexSize)

void allocEdgeFlag(int flagSize)

bool * edgeFlagData()

const bool * edgeFlagData() const

int * elemColorData()

const int * elemColorData() const

void allocColor(int colorSize = -1)

void allocTriColor(int colorSize = -1)

void allocValue(int valueSize = -1)

void allocDeform(int valueSize = -1)

void reset()

void release()

void enableExtendCapacity()

void disableExtendCapacity()

bool isCapacityExtended() const

int getVertexCount() const

void updateCapacity(int newVertexCount)

void append(const XRenderData & rd)