![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
三维
文章平均质量分 85
丘上人
如果感觉不好,那就自己动手
展开
-
opengl glfw demo 下载,在windows vs2015中运行
opengl demo的下载,在vs2015中配置、运行原创 2022-07-20 19:33:34 · 296 阅读 · 0 评论 -
B树,r树,k-d树,bvh(bound volumn heuristic)树, octtree ,quadtree(待更)
引入b树是为了方便理解r树;kd树,oct树,bvh树,oct树,quad树都是用于空间或区域(region)的管理。下面讲述按我的理解的大概的划分b树,一种特殊的多叉树,善于描述一维的数据r树是b树向多维的一种拓展,也是属于多叉树的一种。多叉树相对于二叉树有一个问题就是查找时间过长,在每个中间节点上需要消耗较多的时间。所以有对b树和r树的改进方式是尽量减少树的阶数,通常取最小阶数为3,因...原创 2019-07-01 10:28:38 · 3993 阅读 · 0 评论 -
unigine EllipsoidPtr get center 获取粗略球心坐标 获取当前位置粗略重力方向
GeodeticPivotPtr pivot = GeodeticPivot::cast(Editor::get()->getNodeByName("GeodeticPivot")); pivot->setOrigin(Vec3(0, 90, 0)); EllipsoidPtr e = pivot->getEllipsoid(); Mat4 mat...原创 2019-06-17 17:36:19 · 264 阅读 · 0 评论 -
D3D11 texture 创建 NV12 YV12 YUV420 cpu 访问 内存分布 拷贝 map updateresource copyresource
nv12 详细介绍:https://docs.microsoft.com/zh-cn/windows/desktop/api/dxgiformat/ne-dxgiformat-dxgi_format(关于查看msdn文档,对于所有的windows的类型,在vs下鼠标移动到对应的类型或其属性或枚举下,按f1浏览器就能调到对应的官方文档对应的网页,还是相当方便的)nv12、yuv420、yv12等......原创 2019-04-12 16:45:36 · 5077 阅读 · 0 评论 -
unigine 渲染dynamicobject
ObjectDynamicPtr dynamic;TextureRenderPtr texture_render;TexturePtr texture;void fun1() // 放到init中{ int width = 128; int height = 128; texture_render = TextureRender::create(); t...原创 2019-06-17 17:39:49 · 323 阅读 · 1 评论 -
unigine ObjectDynamic ffp 对比 及shader使用
Ffp 是用于独立的渲染的,能结合shader textureRender render renderstate等灵活的将画面渲染出来。使用可以比较灵活。但是ffp有顶点限制,并且效率也是比较低的,需要每帧从cpu传送顶点去进行绘制,最关键是能传入的顶点的index是unsigned short类型的,数量有限。适用于顶点数小,并且每帧顶点都变化的对象渲染。ObjectDynamic 就...原创 2019-04-05 12:40:45 · 337 阅读 · 0 评论 -
D3d/opengl texture yuv yuv420p nv12 yv12 等等 显示 以及传入shaderresource
为何要用nv12 或nv21?官方解释是方便渲染使用。个人理解 :方便将nv12(DXGI_FORMAT_NV12)或nv21(DXGI_FORMAT_NV21)数据放到一个texture中,然后通过shader进行渲染。nv12与nv21区别是u与v的存放空间的位置问题,一个在前一个在后。下面是msdn中对nv12 aligned 格式的图例描述(y:width,height ;uv:wi...原创 2019-03-27 12:13:55 · 5026 阅读 · 0 评论 -
unigine 脚本 (uniginescript) 智能提示
unigine脚本没有专门的编辑工具,但是 官方的demo中却有大量的脚本写的代码,并且sdk中的core中也有很多脚本实现的库。脚本由于支持活加载。所以对于很多小型的功能特别方便使用。用处也很大。可以自己找一个代码编辑工具进行脚本编辑,notepad++或者sublime。但是前提是需要有脚本的关键字。并导入到编辑器中。导出Uniginescript关键字方法如下:1、在运行debug...原创 2018-10-24 15:18:12 · 437 阅读 · 0 评论 -
判断两点连线是否与线段相交 判断两线段是否相交
https://blog.csdn.net/tengchongwei/article/details/729220561、如图a(x1,y1) b(x2,y2) c(x3,y3) d(x4,y4)判断c,d是否在线段两端,只需要判断ad和ac的斜率一个比ab的斜率大 另一个比ab的斜率小就行了。判断c在直线ab的上方和判断d在直线ab的下方或者向量是否跨立,最终化简后也可以归根于判断斜...原创 2018-09-20 10:25:36 · 2701 阅读 · 0 评论 -
unigine 三维旋转矩阵(mat3,quat) scale translate 变换矩阵(mat4) 和forward up right 关系 normal binormal tangent
三维中旋转矩阵可以用mat3或quat表示。 两者可以转换。在数学上,旋转和反射对应线代中的正交变换。每行(或每列)相互正交的矩阵且每行(或每列)模长为1,叫正交矩阵。unigine中是右手坐标系。顺时针方向的角度为正,逆时针方向角度为负知道y,z 求x:cross(y,z);(trick:将所求的轴朝向自己的反方向,顺时针代入已知的轴,只是在求轴的时候从这个视角,理解旋转的时候需要让轴朝...原创 2018-03-08 11:14:51 · 7910 阅读 · 1 评论