- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 法线计算bug
最近发现了个法线计算的bug,和大家分享一下先看下面这个转载的文章版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_34719188/article/details/83351918对于 float 数据,精度大概为小数点7位,而且当整数部分变大时精度会减小。当我们平时对 vector3 类型数据进行 normalize 时,一般流程是使用 len = Invsqrt(len),
2021-06-24 10:27:50
160
原创 python bug
最近在写 python 代码,发现个很有意思的问题我用 beyondCompare 更新了下代码,然后出现了“inconsistent use of tabs and spaces in indentation”重新手敲了一遍,发现代码并没有错误,可能是制表符和空格引起的错误,但是vs中完全看不出区别如下图,下面错误上面的正确然后当我把代码全部选中的时候,真相露出水面了下面的代码中使用的仍然是制表符,而上方的被自动替换为4个空格...
2021-06-09 21:08:10
197
3
原创 2021-05-26
记录一个读取 Buffer 的 bug从指针直接读取数组数据时,不要使用带有虚函数的类,因为虚函数表会占据内存空间,导致读取的数据错位不匹配。
2021-05-26 17:41:30
101
原创 分享一个 thrust 中的删除操作
分享一个 thrust 中的删除操作工作需要,目前已知数据有400w,最终数据大小只有几w,如何将400w数据根据条件快速删除至w级别参考:copy_if()remove_copy_if()remove_if()remove_if()函数原型[2]ForwardIterator thrust::remove_if(ForwardIterator first, ForwardIter...
2020-05-07 17:06:43
736
原创 .gitignore 文件注意事项
本文只是记录一些遇到的问题,谈不上是完整的技术总结。参考:https://my.oschina.net/longyuan/blog/521098问题描述首先在提交码云/github时均可以选择各种 gitignore 模板,但未必符合自己项目要求,以 VS C++ 工程,.gitignore 模板为 visual studio 为例.obj 同时表示模型文件,但默认是被忽略的如果将一些...
2020-04-08 10:15:47
203
原创 bug04 compute_35 architecture or above
记录一个程序运行时发现的 bug在 stackoverflow 上查阅后得到解决方案如下:View -> Property PagesComfiguration Properties -> CUDA C/C++ -> Common -> Generate Relocatable Device Code -> Yes (-rdc=true)...
2020-03-10 16:48:02
402
原创 CUDA线程索引计算
终于搞清楚了 thread 索引的计算方式,简单来说很像小学学的除法公式被除数 = 除数 * 商 + 余数用公式表示:最终的线程Id = blockId * blockSize + threadIdblockId :当前 block 在 grid 中的坐标(可能是1维到3维)blockSize :block 的大小,描述其中含有多少个 threadthreadId :当前 thread...
2020-03-10 15:08:08
813
原创 论文-Efficient Surgical Cutting with Position-Based Dynamic
1:传统切割方法网格变形方案几何阶段计算切除多边形网格缺点:引入了更高的复杂度拓扑变化会影响碰撞和变形的假设手术模拟的方法一直是有限元主导但是网格的离散化带来了新的挑战,高昂的计算以及切割引起附近不连续性的重新网格化完全无网格方案完全无网格拉格朗日自适应动态松弛算法非常依赖于节点云形式的空间离散化切割的不连续效果由改变的影响点域建模缺点在于性能较差,目前没有一种交互式切割方...
2019-10-20 21:43:47
339
2
原创 flex 初始化模型问题
游戏编程、以及交互式物理仿真中,有时候需要在初始化结束后,游戏开始的第一帧(只有第一帧)实行一些逻辑这个时候稍不留神就可能出现逻辑错误,记录如下:实例 Nvidia flexflex 初始化时会将模型转化为粒子,之后每一帧根据外力更新。这意味着,如果想更新模型的位置,只能将模型转换后的粒子统一加上offset。那么问题来了,怎么对模型的部分点进行移动?(例如给绳子两端增加位移)这种情况...
2019-09-29 22:57:09
192
1
原创 OpenGL 渲染测试 2:材质
参考: https://learnopengl-cn.github.io/02 Lighting/03 Materials/本贴意义: 只是记录一些参考链接中的重点材质现实世界中有各种各样的物体,它们对光的反射都各不相同(漫反射参数与镜面反射参数不同)如果我们想在 OpenGL 中模拟多种类型的物体,我们必须为每个物体分别定义一个材质(material)属性这里值得注意的是可以在 sha...
2019-09-17 10:46:31
155
原创 OpenGL 渲染测试 1:基础光照(Phong Lighting Model)
参考:https://learnopengl-cn.github.io/02 Lighting/02 Basic Lighting/**本贴目的:**本贴在 learnOpengl 教程的基础上增加了 Dear-imgui,可以方便地调节一些关键参数来观看不同的光照效果颜色颜色由红绿蓝(RGB)三个分量组成,在OpenGL中范围为0~1。现实生活中我们看到某一物体的颜色并不是物体真正的颜色...
2019-09-15 17:37:49
613
1
原创 bug 03 又是你,头文件!
在看这个bug之前建议先看 https://blog.csdn.net/qq_29639589/article/details/100853195这篇文章是我转载的文章,稍微改了下排版。先描述问题,nvidia flex demo 中,main.cpp 中定义了 SimBuffer* g_buffers,而 helper.h 等一票头文件中没有任何 extern 关键字,就可以直接使用 g_b...
2019-09-15 16:40:04
152
转载 C++学习(1):头文件和源文件详解
转载自:https://www.cnblogs.com/lidabo/archive/2012/04/17/2454568.html文章内容几乎完全相同,只是排版稍有区别一、C++编译模式通常一个 C++ 程序中,只包含两类文件——.cpp文件和.h文件。其中.cpp文件被称作 C++ 源文件,里面放的是 C++ 的源代码;而.h文件则被称作 C++ 头文件,里面放的也是 C++ 的源代码。...
2019-09-15 16:12:37
265
原创 bug 02 error LNK1169: 找到一个或多个多重定义的符号
参考链接如下:https://stackoverflow.com/questions/1305947/why-does-c-need-a-separate-header-file叶子一哥:https://blog.csdn.net/abc5382334/article/details/18052757知乎:https://www.zhihu.com/question/58547318前言...
2019-09-10 17:43:48
280
1
原创 bug 01 visual studio 相对路径问题
被这个问题折磨了两个小时。。。特意发帖记录一下水平有限,如果有错希望各位指正。引用https://blog.csdn.net/u013094443/article/details/48679947http://blog.sina.com.cn/s/blog_7eb23c070102wi9l.htmlhttps://zhidao.baidu.com/question/19467933948...
2019-09-10 17:29:18
717
原创 bug00
本贴目的:本周开发时需要做一个刚体和柔体联动的平移和旋转操作,困扰了我很长时间,特意写篇帖子记录一下参考文章:https://www.cnblogs.com/soroman/archive/2009/05/15/1457863.html写的很详细,解决了我的困惑描述需要对一个物体进行平移和旋转操作,旋转时需要绕着一个动态的坐标系(坐标系位置可变,x,y,z轴方向不变)采用方案,获取力反馈...
2019-09-08 23:11:01
94
原创 力反馈 OpenHaptics ProgGuide-HDAPI
现在需要加上力反馈的旋转,但是官方的ConsoleExamples中没有旋转的例子,因此需要学习GraphicsExamples中的例子。1:Haptic Device Operations对设备的操作包含获取和设置状态,且只能在伺服循环中通过调度程序回调的方式使用。未完待续初始化首先对设备初始化HHD hHD = hdInitDevice(HD_DEFAULT_DEVICE);...
2019-09-03 16:47:34
3424
13
原创 02 力反馈 OpenHaptics ConsoleExamples-FrictionlessSphere
本文目的,分析如何产生一个球面上的力(方向垂直于球面)继续分析官方demo在 FrictionlessSphere demo 中,创建了一个球面,由于球面各店的法向量均不相同,相对于上一个demo中平面的力计算要稍微复杂一点点。力的方向首先判断装置位置与球心之间的距离,当距离小于半径时代表穿透穿透时计算球心指向装置位置的向量vec,单位化接着根据穿透的程度以及平面硬度(弹簧系数),...
2019-09-02 17:36:33
921
原创 01 力反馈 OpenHaptics ConsoleExamples-FrictionlessPlane
HDAPI Overview本文目的: 分析 HDAPI demo,如何产生一个触碰平面的力Haptic Device(触觉设备)API 包含两个主要的部分:设备以及调度程序。设备抽象化就可以让任何支持3维触觉的机器在 HDAPI 下使用。调度程序回调允许程序员输入在伺服循环线程内执行的命令。HDAPI 典型用途:初始化设备初始化调度程序启动调度程序使用调度程序执行一些触觉命令完...
2019-09-02 17:09:29
1758
23
原创 Unity Rendering Mode
Unity Rendering Mode最近又需要捣鼓下unity shader,记录下标准着色器下的Rendering Mode有四种模式Opaque : 默认选项,适合于非透明物体(如果使用半透明的png贴图会有错误,完全不透明的png贴图没问题)Cutout : 不透明度为1的可见,不透明度小于1的不可见,适合用于树叶、草的模拟Transparent : 使用alpha通道,但...
2019-08-29 15:01:07
561
原创 《Unity Shader 入门精要》笔记 01
描述:今天看第十一章,其中 11.2.1 中的片元着色器看了很久才看明白,终于搞明白了为什么没有取余操作,特来记录下。代码:fixed4 frag (v2f i) : SV_Target { float time = floor(_Time.y * _Speed); float row = floor(time / _HorizontalAmount); float column ...
2019-03-21 14:44:56
247
原创 Unity Shader 01 鼠标点击模型着色
更新1.0我发现原来的解决方法好蠢。。。于是就来更新一下解决思路以及代码思路:不变 不变 在片元着色器中更改符合条件的片元颜色实现效果:shader源码fixed4 frag(v2f i) : SV_Target{ fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT.xyz; float3 worldNormal = normal...
2019-03-15 12:34:15
1504
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人