shader相关内容
我正在尝试让阴影在 Three.js 的自定义着色器中工作.我尝试将这些添加到我的代码中: 穿着制服: THREE.UniformsLib["shadowmap"] 在片段着色器中: THREE.ShaderChunk["shadowmap_pars_fragment"]三.ShaderChunk["shadowmap_fragment"] 在顶点着色器中: THREE.Shade
..
嗨,有人可以帮我吗?我有这个着色器,它适用于 THREE.Mesh 但不适用于 THREE.Particlesystem? 我希望每个粒子都有给定贴图(纹理)的一部分并相应地改变它们的位置,就像这样 http://www.chromeexperiments.com/detail/webcam-displacement/?f=webgl 统一的sampler2D地图;不同的 vec2 vUv
..
谈到在three.js中制作天空盒时,我看到了两种不同的思想流派.假设我们有代码 var imagePrefix = "图像/山脉-";var 方向 = ["xpos", "xneg", "ypos", "yneg", "zpos", "zneg"];var imageSuffix = ".jpg";var skyGeometry = new THREE.CubeGeometry(10000,
..
我想重现使用 THREE.EdgesHelper(在“硬"对象边缘绘制边界)创建的效果,但使用自定义着色器而不是添加单独的 THREE.Line 对象.基本上,我想做这个演示 中所做的事情,但仅限于“硬"边界;例如不在两个共面面之间的边界 方法:对EdgesHelper应用类似的例程,但使用自定义属性(例如isEdge)标记硬边中的顶点;可能需要使用 BufferGeometry,因为常规的
..
我正在尝试从 Three.js 中的着色器访问场景的灯光. 这个问题几乎是Three.js ShaderMaterial 灯光问题但对该问题的评论并没有帮助我解决问题. 这里是顶点着色器: #if NUM_DIR_LIGHTS >0结构定向光{vec3 方向;vec3 颜色;内部阴影;浮动阴影偏差;浮动阴影半径;vec2 shadowMapSize;};统一的 Directional
..
应用亮度和对比度的简单像素着色器脚本效果是什么? 我找到了这个,但似乎不正确: sampler2D 输入:寄存器(s0);浮动亮度:寄存器(c0);浮动对比:寄存器(c1);float4 main(float2 uv : TEXCOORD) : 颜色{float4 颜色 = tex2D(输入,UV);float4 结果 = 颜色;结果 = 颜色 + 亮度;结果=结果*(1.0+对比度)/1
..
我正在将 1024 x 1024 的纹理拆分为 32x32 的图块 * 32,我不确定是否可以使用偏移量共享纹理,或者我是否需要为每个具有偏移量的图块创建一个新纹理.. 要创建偏移量,我使用统一值 = 32 * i 并通过创建图块的每个循环实例更新统一值,所有图块似乎都是相同的偏移量?因为基本上我希望图像看起来像它的一个图像没有分解成小块.但是当前的输出在所有 32 个块上都是相同的 x,y
..
我正在尝试将此 (http://madebyevan.com/webgl-water/ ) 移植到三个.我想我已经接近了(现在只想要模拟,还不关心焦散/折射).我想让它与着色器一起工作以提升 GPU. 这是我目前使用着色器的三个设置:http://jsfiddle.net/EqLL9/2/(第二个较小的平面用于调试当前在 WebGLRenderTarget 中的内容) 我正在努力从 W
..
我正在使用自定义着色器创建网格.在顶点着色器中,我正在修改几何顶点的原始位置.然后我需要从着色器外部访问这个新的顶点位置,我该如何实现? 解决方案 代替变换反馈(WebGL 1.0 不支持),您将不得不使用直通片段着色器和浮点纹理(这需要加载扩展 OES_texture_float).这是在 WebGL 中在 GPU 上生成顶点缓冲区的唯一方法.WebGL 也不支持像素缓冲区对象,因此读取
..
我想隐藏在 C/C++ 程序中用作字符串的文本信息(在我的例子中是 GLSL 着色器),因为它们在二进制文件中是直接可读的.因此,我考虑在编译/构建时加密文件并在运行时解密数据以继续重建着色器. 但是,我在使控制台上的 openssl 与 C 程序中的库 (evp) 一起工作时遇到了一些麻烦.我不得不承认,我绝不是密码学专家,但现在必须进入这个主题...... 这是我尝试过的: //
..
如何发送到 MAT4 类型的着色器属性? attribute mat4 attr;... JS: var attr=gl.getAttribLocation(_program,"attr"); 解决方案 来自规范第 2.10.4 节 当一个属性变量被声明为 mat4 时,它的矩阵列取自通用属性的 (x, y, z, w) 分量 i通过 i + 3. 所以 JS: va
..
我正在编写一个允许绘制自由样式(使用手指)和绘制图像的应用程序.我在 OpenGL ES glFragColor 取决于 iOS 中片段着色器的条件.感谢很多建议,我解决了.现在我还有另一个新问题. 我有 2 个程序,它们的 ID 为 PROGRAM_POINT(绘制自由风格)和 PROGRAM_POINT_0(绘制图像).那些被初始化.每个程序都有一对着色器文件.PROGRAM_POINT
..
我只是想用 GLSurfaceView 编写简单的 android 应用程序,但我有一个问题.我写了一个简单的着色器程序蚂蚁把一个浮点参数放在那里.这是我的 顶点着色器: 属性 vec2 vPosition;属性 vec2 vTexCoord;不同的 vec2 texCoord;无效主(){texCoord = vTexCoord;gl_Position = vec4 ( vPositi
..
我通过这本书逐步学习 WebGL.我尝试通过使用缓冲区(gl.ARRAY_BUFFER)而不是循环来绘制三个点(正如我之前在本书的其他示例中所做的那样). var u_FragColor = gl.getUniformLocation(gl.program, 'u_FragColor');如果(!u_FragColor){console.log('无法获取“u_FragColor"变量.');
..
我想知道是否可以使用片段着色器绘制具有特定颜色的渲染多边形的边缘,如本示例图片所示: 或者我应该单独渲染它们? 解决方案 查看此页面上的相关工作:http://web.archive.org/web/20120527185124/http://cgg-journal.com/2008-2/06/index.html 顶点着色器应该渲染多边形,其中到每条边的距离都是彩色的.
..
无法在android中编译以下opengl片段着色器代码.GLES31.glGetString(GL_VERSION)显示opengl版本为3.2,设备似乎也支持此版本. 错误:- 编译着色器时出错:错误:0:7:'gl_GlobalInvocationID':未声明的标识符错误:0:7:“xy":字段选择需要左侧的结构、向量或矩阵错误:2 个编译错误.没有生成代码.03-31 10:39
..
我想要使用球形投影的 OpenGL 输出来制作 360 度全景视频. 现在我有立方体贴图面,它们是用 6 个透视相机生成的. 我需要这样的东西: 我怎样才能得到这个输出? 有什么想法吗? 解决方案 这取决于您希望使用的确切投影.对于简单的球形投影,您可以使用以下片段着色器将四边形渲染到目标纹理中: uniform samplerCube tex;在 vec2 te
..
在 OpenGL 中对多重采样纹理(即多重采样 FBO 颜色缓冲区)进行采样的唯一方法是使用 texelFetch 并使用整数索引指定您想要的样本,这是真的吗?这不提供有关像素内样本位置的信息. 是否有一些参考可以提供每个样本的子像素偏移? 另外,位于多边形内部的碎片呢?这些不会使用所有的多样本样本:那么所有样本都包含相同的数据吗? 我试图想出一种方法来分割我的渲染场景,以便在片
..
我想使用 glCreateShader(GL_GEOMETRY_SHADER) 创建 geometry_shader,但出现错误. 回溯(最近一次调用最后一次):文件“test.py",第 9 行,在 中几何着色器 = glCreateShader(GL_GEOMETRY_SHADER)文件“errorchecker.pyx",第 53 行,在 OpenGL_accelerat
..
OpenGL.假设我已经绘制了一张图像,然后使用 XOR 绘制了第二张图像.现在我在某处有一个带有非黑色像素的黑色缓冲区,我读到我可以使用着色器来计算 GPU 上的黑色 [ rgb(0,0,0) ] 像素? 我还读到它必须对 OcclusionQuery 做一些事情.http://oss.sgi.com/projects/ogl-示例/注册表/ARB/occlusion_query.txt
..