Inherited from NULL
Inherited by NULL
Friend class NULL
Description
XRenderData封装了用于OpenGL三维显示的渲染数据结构体,它将一次典型的OpenGL渲染中所使用的各种顶点数据都组装在该结构体中,包括顶点数组、法线数组、边标志位数组、纹理数组、顶点编码数组、顶点序号数组、值数组、变形向量数组等,开发者根据需要将所需数据分别存入到对应数组中,供XRender的渲染接口调用完成绘制。
Members
Private interface
XRenderData(int mode = Render_Tri, int ver_size = 0, int index_size = 0)
-
-
-
-
-
-
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)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
void
append(const XRenderData & rd)
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)
function: 构造函数
parameters:
[i]int mode = Render_Tri: 三角片渲染模式
[i] int ver_size = 0: 顶点个数
[i] int index_size = 0: 索引个数
return value: 无
~XRenderData()
function: 析构函数
parameters: NULL
return value: 无
void makeSolidCube(const real * center, const real * size)
function: 构建立方体面渲染数据
parameters:
[i]const real * center: 立方体中心
[i] const real * size: 立方体尺寸
return value: 无
void makeSolidSphere(const real * center, const real * r)
function: 构建球体面渲染数据
parameters:
[i]const real * center: 球心坐标
[i] const real * r: 球半径
return value: 无
void makeSolidCylinder(const real * center, real baseR, real topR, real height)
function: 构建圆柱体面渲染数据
parameters:
[i]const real * center: 底面中心
[i] real baseR: 底半径
[i] real topR: 顶半径
[i] real height: 圆柱高度
return value: 无
void makeSolidArrow(real H, real w, real r, real angle)
function: 构建箭头渲染数据
parameters:
[i]real H: 箭头高度
[i] real w: 箭尾直径
[i] real r: 箭头半径
[i] real angle: 箭头角度
return value: 无
void makeLineArrow(real H, real w, real r, real angle)
function: 构建线状箭头渲染数据
parameters:
[i]real H: 箭头高度
[i] real w: 箭尾直径
[i] real r: 箭头半径
[i] real angle: 箭头角度
return value: 无
void makeLine(const real * start, const real * end)
function: 构建线渲染数据
parameters:
[i]const real * start: 起始坐标
[i] const real * end: 结束坐标
return value: 无
void makeTris(const Vector3r * pts, int ptCount)
function: 构建三角片渲染数据
parameters:
[i]const Vector3r * pts: 三角片数据顶点数组
[i] int ptCount: 顶点数
return value: 无
void makePoints(const Vector3r * pts, int ptCount)
function: 构建点渲染数据
parameters:
[i]const Vector3r * pts: 点数组
[i] int ptCount: 点个数
return value: 无
XRenderData & operator = (const XRenderData & r)
function: 赋值构造函数
parameters:
[i]const XRenderData & r: 复制对象
return value: 本对象引用
XRenderData(const XRenderData & r)
function: 复制构造函数
parameters:
-
return value: 无
void allocVertex(int ver_size)
function: 分配顶点数组内存空间
parameters:
[i]int ver_size: 顶点数
return value: 无
void allocNormal(int normal_size = 0)
function: 分配顶点法线数组内存空间
parameters:
[i]int normal_size = 0: 法线数组个数
return value: 无
void allocTex(int normal_size = 0)
function: 分配顶点纹理数组内存空间
parameters:
[i]int normal_size = 0: 纹理数组个数
return value: 无
void allocIndex(int indexSize)
function: 分配顶点索引数组内存空间
parameters:
[i]int indexSize: 索引数组个数
return value: 无
void allocEdgeFlag(int flagSize)
function: 分配顶点边标志数组内存空间
parameters:
[i]int flagSize: 顶点边标志数组大小
return value: 无
bool * edgeFlagData()
function: 获取顶点边标志数组
parameters: NULL
return value: 顶点边标志数组
const bool * edgeFlagData() const
function: 获取顶点边标志数组
parameters: NULL
return value: 顶点边标志数组
int * elemColorData()
function: 获取顶点单元编码数组
parameters: NULL
return value: 顶点单元编码数组
const int * elemColorData() const
function: 获取顶点单元编码数组
parameters: NULL
return value: 顶点单元编码数组
void allocColor(int colorSize = -1)
function: 分配顶点颜色数组内存空间
parameters:
[i]int colorSize = -1: 颜色数组个数
return value: 无
void allocTriColor(int colorSize = -1)
function: 分配顶点颜色数组内存空间
parameters:
[i]int colorSize = -1: 颜色数组个数
return value: 无
void allocValue(int valueSize = -1)
void allocDeform(int valueSize = -1)
function: 分配顶点变形数组内存空间
parameters:
[i]int valueSize = -1: 变形数组大小
return value: 无
void reset()
function: 重置渲染数据对象
parameters: NULL
return value: 无
void release()
function: 释放渲染数据对象内存空间
parameters: NULL
return value: 无
void enableExtendCapacity()
function: 渲染数据数组可动态扩展大小
parameters: NULL
return value: 无
void disableExtendCapacity()
function: 渲染数据数组不可动态扩展大小
parameters: NULL
return value: 无
bool isCapacityExtended() const
int getVertexCount() const
function: 获取顶点个数
parameters: NULL
return value: 顶点个数
void updateCapacity(int newVertexCount)
function: 扩展渲染数据数组大小
parameters:
[i]int newVertexCount: 新的顶点数组大小无
return value: 无
void append(const XRenderData & rd)