CBlueUI  
C++ 跨平台跨框架的数据可视化工具
载入中...
搜索中...
未找到
CGraphicsBaseDefs.h 文件参考

struct  ConstBufferShader0
 
struct  GShaderLayoutDesc
 顶点布局格式描述结构 更多...
 
struct  GShaderInfo
 着色器信息 更多...
 
struct  GTextureInfo
 
struct  Render3dData
 

宏定义

#define GLM_ENABLE_EXPERIMENTAL
 
#define SHADER_TEXTURE_MAX   2
 

类型定义

typedef uint16_t IndexBufType
 顶点索引缓冲区类。可自行定义为'#define IndexBufType unsigned int'
 
typedef uint8_t UnifomBufType
 常量缓冲区类型。可自行定义为'#define UnifomBufType uint8_t'
 
typedef float VertexBufType
 顶点缓冲区类型。可自行定义为'#define VertexBufType unsigned int'
 

枚举

enum  GDataType {
  DT_INT8 , DT_UINT8 , DT_INT16 , DT_UINT16 ,
  DT_INT32 , DT_UINT32 , DT_FLOAT , DT_DOUBLE
}
 用于定义顶点布局中数据类型 更多...
 
enum  GBufferType { BT_VERTEX = 1 , BT_INDEX , BT_CONST }
 
enum  GCullFace { CullNone = 0 , CullBack , CullFront }
 
enum  GVertexMode {
  DrawPoints = 0 , DrawLines , DrawLineStrip , DrawTriangles ,
  DrawTriangleStrip
}
 

函数

UI_EXP int AddShader (int id, const char *source_vs, const char *source_ps, GShaderLayoutDesc *layout, int len)
 添加全局着色器
 
UI_EXP int GenShaderID ()
 生成一个ID
 
UI_EXP int ShaderCount ()
 获得指定着色器个数
 
UI_EXP bool IsShaderChange ()
 着色器是否有变更
 
UI_EXP void SetShaderChange (bool ischange)
 设置着色器变更标志位
 
UI_EXP GShaderInfoGetShaderInfo (int pos)
 获得指定着色器信息
 
UI_EXP int AddTexture (int id, BUI::GImage *img)
 添加全局纹理。目标是创建GPU侧的内部纹理对象
 
UI_EXP void DelTexture (int id)
 删除指定纹理
 
UI_EXP int GenTextureID ()
 生成一个ID
 
UI_EXP int TextureCount ()
 获得指定纹理个数
 
UI_EXP bool IsTextureChange ()
 纹理是否有变更
 
UI_EXP void SetTextureChange (bool ischange)
 设置纹理变更标志位
 
UI_EXP GTextureInfoGetTextureInfo (int pos)
 获得指定纹理信息
 
UI_EXP BOOL Load3dObj (std::vector< std::shared_ptr< Render3dData > > &out_data, const char *filename_utf8, const char *mtldir=NULL)
 加载obj 3d文件
 

宏定义说明

◆ GLM_ENABLE_EXPERIMENTAL

#define GLM_ENABLE_EXPERIMENTAL

◆ SHADER_TEXTURE_MAX

#define SHADER_TEXTURE_MAX   2

类型定义说明

◆ IndexBufType

typedef uint16_t IndexBufType

顶点索引缓冲区类。可自行定义为'#define IndexBufType unsigned int'

◆ UnifomBufType

typedef uint8_t UnifomBufType

常量缓冲区类型。可自行定义为'#define UnifomBufType uint8_t'

◆ VertexBufType

typedef float VertexBufType

顶点缓冲区类型。可自行定义为'#define VertexBufType unsigned int'

枚举类型说明

◆ GBufferType

枚举值
BT_VERTEX 
BT_INDEX 
BT_CONST 

◆ GCullFace

enum GCullFace
枚举值
CullNone 

无背面剔除 (默认)

CullBack 

背面剔除

CullFront 

背面剔除。在directx,opengl,vk统一定义逆时针为正面

◆ GDataType

enum GDataType

用于定义顶点布局中数据类型

枚举值
DT_INT8 
DT_UINT8 
DT_INT16 
DT_UINT16 
DT_INT32 
DT_UINT32 
DT_FLOAT 
DT_DOUBLE 

◆ GVertexMode

枚举值
DrawPoints 

每个顶点绘制一个点

DrawLines 

每两个顶点组成一条独立的线段

DrawLineStrip 

顶点连续连接,组成折线

DrawTriangles 

每三个顶点组成一个独立三角形

DrawTriangleStrip 

顶点按带状连接,组成一系列共边三角形

函数说明

◆ AddShader()

UI_EXP int AddShader ( int  id,
const char *  source_vs,
const char *  source_ps,
GShaderLayoutDesc layout,
int  len 
)

添加全局着色器

参数
id: 全局id。id重复将覆盖原来的对象。一般调用 GenShaderID()获得
source_vs: 顶点着色器。对于directx,可以同片段着色器代码放在一起
source_ps: 片段着色器或像素着色器
layout: 着色器中顶点格式
len: layout的长度

◆ AddTexture()

UI_EXP int AddTexture ( int  id,
BUI::GImage img 
)

添加全局纹理。目标是创建GPU侧的内部纹理对象

参数
id:全局id,id重复将覆盖原来的对象。
img:位图(像素数据位于CPU侧)。

◆ DelTexture()

UI_EXP void DelTexture ( int  id)

删除指定纹理

◆ GenShaderID()

UI_EXP int GenShaderID ( )

生成一个ID

◆ GenTextureID()

UI_EXP int GenTextureID ( )

生成一个ID

◆ GetShaderInfo()

UI_EXP GShaderInfo * GetShaderInfo ( int  pos)

获得指定着色器信息

◆ GetTextureInfo()

UI_EXP GTextureInfo * GetTextureInfo ( int  pos)

获得指定纹理信息

◆ IsShaderChange()

UI_EXP bool IsShaderChange ( )

着色器是否有变更

◆ IsTextureChange()

UI_EXP bool IsTextureChange ( )

纹理是否有变更

◆ Load3dObj()

UI_EXP BOOL Load3dObj ( std::vector< std::shared_ptr< Render3dData > > &  out_data,
const char *  filename_utf8,
const char *  mtldir = NULL 
)

加载obj 3d文件

◆ SetShaderChange()

UI_EXP void SetShaderChange ( bool  ischange)

设置着色器变更标志位

◆ SetTextureChange()

UI_EXP void SetTextureChange ( bool  ischange)

设置纹理变更标志位

◆ ShaderCount()

UI_EXP int ShaderCount ( )

获得指定着色器个数

◆ TextureCount()

UI_EXP int TextureCount ( )

获得指定纹理个数

鄂公网安备42018502007752 鄂ICP备2024082886
Copyright © 2025 · CBlueStudio 版权所有