我正在尝试实施:
transform.InverseTransformPoint(Vector3) 和 transform.InverseTransformDirection(Vector3) 在 opengl 中使用 glm 库。我有每个对象的视图、投影、模型矩阵。
实际上我不知道我必须用这个矩阵做什么才能达到那个方法的功能。
我有一个 2 阶段体积渲染器,我使用 DVR 方法来渲染体积,但深度缓冲区不适合该体积,因为我使用来自盒子的光线投射。
实际上我有一个盒子,我应该根据体积数据计算正确的深度值。
我在顶点着色器中有这个:
out float DEPTH ;
...
DEPTH = gl_Position.z / gl_Position.w;
Run Code Online (Sandbox Code Playgroud)
并在片段中:
gl_FragDepth = (1.0 - 0.0) * 0.5 * DEPTH + (1.0 + 0.0) * 0.5;
Run Code Online (Sandbox Code Playgroud)
它们非常适合盒子,我的主要问题是如何在深度上添加一点来获得正确的深度值?
我也用了 from (distanceToAdd/100 + DEPTH),但是是错误的。
任何想法?
我想通过if条件评估指针是否为null:
Model * model;
if(model == nullptr){
//do something...
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,Strangly模型指针而不是指向0x0位置它指向0xcdcdcdcdcdcdcdcdcd内存位置然后model==nullptr不起作用,我也做了if(model),if(model== NULL)这些也无法正常工作!
关于这个问题的任何想法?