User Tools

Site Tools


class:kernel:xrenderdata



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)

  • function: 构造函数
  • parameters:
    1. [i]int mode = Render_Tri: 三角片渲染模式
    2. [i] int ver_size = 0: 顶点个数
    3. [i] int index_size = 0: 索引个数
  • return value: 无

~XRenderData()

  • function: 析构函数
  • parameters: NULL
  • return value: 无

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

  • function: 构建立方体面渲染数据
  • parameters:
    1. [i]const real * center: 立方体中心
    2. [i] const real * size: 立方体尺寸
  • return value: 无

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

  • function: 构建球体面渲染数据
  • parameters:
    1. [i]const real * center: 球心坐标
    2. [i] const real * r: 球半径
  • return value: 无

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

  • function: 构建圆柱体面渲染数据
  • parameters:
    1. [i]const real * center: 底面中心
    2. [i] real baseR: 底半径
    3. [i] real topR: 顶半径
    4. [i] real height: 圆柱高度
  • return value: 无

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

  • function: 构建箭头渲染数据
  • parameters:
    1. [i]real H: 箭头高度
    2. [i] real w: 箭尾直径
    3. [i] real r: 箭头半径
    4. [i] real angle: 箭头角度
  • return value: 无

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

  • function: 构建线状箭头渲染数据
  • parameters:
    1. [i]real H: 箭头高度
    2. [i] real w: 箭尾直径
    3. [i] real r: 箭头半径
    4. [i] real angle: 箭头角度
  • return value: 无

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

  • function: 构建线渲染数据
  • parameters:
    1. [i]const real * start: 起始坐标
    2. [i] const real * end: 结束坐标
  • return value: 无

void makeTris(const Vector3r * pts, int ptCount)

  • function: 构建三角片渲染数据
  • parameters:
    1. [i]const Vector3r * pts: 三角片数据顶点数组
    2. [i] int ptCount: 顶点数
  • return value: 无

void makePoints(const Vector3r * pts, int ptCount)

  • function: 构建点渲染数据
  • parameters:
    1. [i]const Vector3r * pts: 点数组
    2. [i] int ptCount: 点个数
  • return value: 无

XRenderData & operator = (const XRenderData & r)

  • function: 赋值构造函数
  • parameters:
    1. [i]const XRenderData & r: 复制对象
  • return value: 本对象引用

XRenderData(const XRenderData & r)

  • function: 复制构造函数
  • parameters:
    1. [i]const XRenderData & r: 复制对象
  • return value: 无

void allocVertex(int ver_size)

  • function: 分配顶点数组内存空间
  • parameters:
    1. [i]int ver_size: 顶点数
  • return value: 无

void allocNormal(int normal_size = 0)

  • function: 分配顶点法线数组内存空间
  • parameters:
    1. [i]int normal_size = 0: 法线数组个数
  • return value: 无

void allocTex(int normal_size = 0)

  • function: 分配顶点纹理数组内存空间
  • parameters:
    1. [i]int normal_size = 0: 纹理数组个数
  • return value: 无

void allocIndex(int indexSize)

  • function: 分配顶点索引数组内存空间
  • parameters:
    1. [i]int indexSize: 索引数组个数
  • return value: 无

void allocEdgeFlag(int flagSize)

  • function: 分配顶点边标志数组内存空间
  • parameters:
    1. [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:
    1. [i]int colorSize = -1: 颜色数组个数
  • return value: 无

void allocTriColor(int colorSize = -1)

  • function: 分配顶点颜色数组内存空间
  • parameters:
    1. [i]int colorSize = -1: 颜色数组个数
  • return value: 无

void allocValue(int valueSize = -1)

  • function: 分配顶点属性值数组内存空间
  • parameters:
    1. [i]int valueSize = -1: 属性值数组大小
  • return value: 顶点属性值数组内存空间

void allocDeform(int valueSize = -1)

  • function: 分配顶点变形数组内存空间
  • parameters:
    1. [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

  • function: 渲染数据数组是否可动态扩展大小
  • parameters: NULL
  • return value: 可动态扩展返回true,否则返回false

int getVertexCount() const

  • function: 获取顶点个数
  • parameters: NULL
  • return value: 顶点个数

void updateCapacity(int newVertexCount)

  • function: 扩展渲染数据数组大小
  • parameters:
    1. [i]int newVertexCount: 新的顶点数组大小无
  • return value: 无

void append(const XRenderData & rd)

  • function: 将其他渲染数据对象添加到本对象尾部
  • parameters:
    1. [i]const XRenderData & rd: 待添加的渲染数据对象
  • return value: 无
class/kernel/xrenderdata.txt · Last modified: 2023/08/04 21:20 (external edit)