摘要: osg中使用普通纹理着色 1.1 普通纹理 osg::Image类存储OpenGL纹理对象载入与使用的图像数据,其中方法data()将原始图像数据作为uchar* 指针返回,可以直接修改内存中数据,方法getPixelFormat方法返回像素格式,getDataType返回每个像素通道数据类型,方法 阅读全文
posted @ 2023-06-11 22:32 王小于的啦 阅读(619) 评论(0) 推荐(0) 编辑
摘要: 自定义漫游器动画 1 相机视图矩阵 1.1 坐标系统 (1)局部坐标系:以三维物体中的某个原点建立顶点比较方便,事实上一个复杂物体可能有多个局部坐标系,每个局部坐标系用于其某个部位。通过一组平移、旋转和缩放变换的组合,可以将局部坐标系变换到世界坐标系。 (2)世界坐标系:为了定义所有物体之间的空间关 阅读全文
posted @ 2023-05-02 12:59 王小于的啦 阅读(800) 评论(0) 推荐(0) 编辑
摘要: 二、场景管理 2.1 遍历场景图 场景图遍历类型有以下几种: (1) 事件遍历:在遍历节点时,处理鼠标和键盘输入。 (2) 更新遍历:用于修改场景图,添加节点,设置节点属性,执行回调。 (3) 裁剪遍历:根据节点是否位于一个视口内来筛选节点,裁剪掉不可见和不可用的节点。 (4) 绘制遍历:调用Ope 阅读全文
posted @ 2023-04-15 18:22 王小于的啦 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 一、搭建场景图 1.1 创建几何节点 场景图是表示图形与状态对象的空间布局的节点的层次图结构图,它描述了从根节点到可绘制对象一层层渲染属性和状态。 场景图由Node基类派生的子节点类型构成,常用的节点类继承关系和作用如下图所示。 示例为使用OSG创建最简单的场景图过程 1 #include <osg 阅读全文
posted @ 2023-03-26 13:11 王小于的啦 阅读(437) 评论(0) 推荐(0) 编辑
摘要: C++面试知识点整理 1、 const:const 修饰变量 其实为只读变量;只读变量为右值;const 修饰引用表示为只读变量的引用,为了语义上的统一,这样接口既能传变量也能传常量;const 修饰成员函数表示函数内不修改类数据,不会调用非const成员函数。 2、 右值引用:右值引用绑定将亡对象 阅读全文
posted @ 2023-02-12 18:36 王小于的啦 阅读(687) 评论(0) 推荐(0) 编辑
摘要: ThreeJs 入门概念及使用整理 ThreeJs用于浏览器3D图形的渲染,基于WebGL封装,本身是Javascript语言开发的。尝试基于threeJs开发手写手绘小程序,因此整理了相关的基础技术文档。 一、场景、相机、渲染器概念 场景(scene)容纳了所有模型。 { fog:设置场景的雾化效 阅读全文
posted @ 2023-01-30 13:20 王小于的啦 阅读(253) 评论(0) 推荐(0) 编辑
摘要: OpenGL的纹理缓冲对象创建、释放、使用 纹理用于给模型贴上颜色,类似于顶点缓冲也是GPU中的一块显存,用图片格式保存了CPU段传入的数据。纹理属性包括纹理大小、颜色通道个数(RGBA\RGB)。纹理宽度尽量遵守2的幂次方规律,这样从CPU中读取数据性能更好。纹理的使用流程:先创建纹理对象名称,绑 阅读全文
posted @ 2023-01-02 15:41 王小于的啦 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 1、C++内存管理(1)常用数据类型占用内存大小:char 1字节;int 4字节;short 2字节;long 4字节;bool 1字节;float 4字节;double 8字节;(2)堆栈的比较 [1] 堆用于动态分配内存,容量大于栈。堆上内存可以随时申请、随时分配、随时释放。要分配的大小运行时 阅读全文
posted @ 2022-12-31 20:58 王小于的啦 阅读(294) 评论(0) 推荐(0) 编辑