glsl

    1热度

    1回答

    我正在写太阳系模拟,有些物体太小或太小,甚至无法渲染到单个像素。这种行为是预期的,但它创造了一些工件。对于小型相机移动,对象在呈现为单个像素并且完全不呈现之间交替变化,从而产生“闪烁”伪影。 是否有可能强制对象始终呈现至少1个像素?或者可能有其他技术来避免这个问题。 调用glDepthFunc(GL_ALWAYS)时,问题仍然存在,并且远处的物体距离相机4412个单位,而远平面远离10000个单位

    -1热度

    1回答

    我目前正在使用OpenSceneGraph(3.4.0)和我自己的glsl(330)着色器编写程序。 它使用多个纹理进行输入,然后使用预渲染相机执行多渲染目标渲染,并使用第二个相机读取这些多渲染目标纹理以进行延期着色。因此两个相机都有自己的着色器(这里称为geometry_pass和lighting_pass)。 我的问题:两种着色器在阅读时都使用与所有Sampler2D制服相同的纹理。 //in

    0热度

    1回答

    我制作了一个粒子系统,具有三维的缓冲区几何形状。我想让粒子接收光。 这难道不可能吗?因为几何体实际上并没有面对光线? 我正在使用我创建的着色器。我只是用三个j创建几何。 颗粒不在世界空间吗?他们只在相机空间吗? 什么是用于照明粒子的简单GLSL片段着色器公式?

    2热度

    1回答

    比方说,我有一个非常简单的GLSL顶点着色器: uniform mat4 model; uniform mat4 view; uniform mat4 projection; in vec3 position; in vec3 color; out vec3 vertexColor; void main() { mat4 mvp = projection * view

    0热度

    2回答

    这是我目前的片段着色器的主要部分。如果我在光线计算中不使用lightDot,那么照明是一个很好的圆形,每个方向均匀地呈现白色。但是,一旦我添加lightDot它似乎使另一半的对象只是黑色。 。 据我所知,当世界位置和光线之间的角度接近表面法线并使角度越大时,光线越暗,点积应使光线明亮。 void main() { vec3 lightDir=normalize(lightPositio

    0热度

    1回答

    我想通过使用LWJGL的Java学习opengl。当试图编译着色器程序时,我得到错误 java.lang.Exception: Error compiling shading code: 0:1(1): preprocessor error: Illegal non-directive after # 我对C只有Java一无所知。 #version 330 layout (location

    3热度

    2回答

    所以有Xamarin.ios,GPUImage,这是最初在客观的c,现在使用绑定工作在C#中的这个组件。 我似乎无法得到它的一个类的工作子类,GPUImageThreeInputFilter,它应该接受一个字符串,然后被处理为glsl。 这是类的样子: using Foundation; using System; using System.ComponentModel; using Sys

    1热度

    2回答

    每当我写在three.js所定制的着色器,我犯了一个错误,控制台输出与编译后的代码GLSL一个不错的错误信息。它包括我的代码与所有多余的线条沿着three.js所自动添加上: 问: 有什么办法来输出编译一个内置的vertexShader和fragmentShader材料?我在我的项目中使用THREE.MeshLambertMaterial,我想阅读编译GLSL代码来了解它的引擎盖下是如何运行的。我

    0热度

    1回答

    我想修改位移贴图以​​采用rgba纹理显示位移值与32位精度,而不是默认情况下使用8位精度三.js位移图,这样我可以在泛滥的可视化环境中看到我的地形上的高度差异。 当我修改在three.js所包在three.js所主\ SRC \渲染器的位移图着色器功能\着色器\ ShaderChunk \ displacementmap_vertex.glsl,我取代: transformed += norma

    2热度

    1回答

    我在Uint8array(3d x,y,z坐标列表)中有一些数据。我需要执行一些浮点操作。 (矩阵旋转变换乘法)在这个3d向量上。我正在使用http://glmatrix.net/库进行计算。 的数据是从第三方的API,将其打包Uint8Array顶点数据以套8 [x,y,z,w,r,g,b,a] 截至格式化直到现在来,我一直在GPU上执行此操作,通过这个Uint8array和旋转矩阵给GLSL。