shader相关内容

让阴影在 Three.js 自定义着色器中工作

我正在尝试让阴影在 Three.js 的自定义着色器中工作.我尝试将这些添加到我的代码中: 穿着制服: THREE.UniformsLib["shadowmap"] 在片段着色器中: THREE.ShaderChunk["shadowmap_pars_fragment"]三.ShaderChunk["shadowmap_fragment"] 在顶点着色器中: THREE.Shade ..
发布时间:2021-07-23 20:02:41 其他开发

渲染“硬"使用自定义着色器的边缘

我想重现使用 THREE.EdgesHelper(在“硬"对象边缘绘制边界)创建的效果,但使用自定义着色器而不是添加单独的 THREE.Line 对象.基本上,我想做这个演示 中所做的事情,但仅限于“硬"边界;例如不在两个共面面之间的边界 方法:对EdgesHelper应用类似的例程,但使用自定义属性(例如isEdge)标记硬边中的顶点;可能需要使用 BufferGeometry,因为常规的 ..
发布时间:2021-07-23 20:02:18 其他开发

在three.js着色器中使用灯光

我正在尝试从 Three.js 中的着色器访问场景的灯光. 这个问题几乎是Three.js ShaderMaterial 灯光问题但对该问题的评论并没有帮助我解决问题. 这里是顶点着色器: #if NUM_DIR_LIGHTS >0结构定向光{vec3 方向;vec3 颜色;内部阴影;浮动阴影偏差;浮动阴影半径;vec2 shadowMapSize;};统一的 Directional ..
发布时间:2021-07-23 20:02:15 其他开发

帮助像素着色器的亮度和对比度效果

应用亮度和对比度的简单像素着色器脚本效果是什么? 我找到了这个,但似乎不正确: sampler2D 输入:寄存器(s0);浮动亮度:寄存器(c0);浮动对比:寄存器(c1);float4 main(float2 uv : TEXCOORD) : 颜色{float4 颜色 = tex2D(输入,UV);float4 结果 = 颜色;结果 = 颜色 + 亮度;结果=结果*(1.0+对比度)/1 ..
发布时间:2021-07-23 20:02:10 其他开发

具有新偏移量的three.js webgl自定义着色器共享纹理

我正在将 1024 x 1024 的纹理拆分为 32x32 的图块 * 32,我不确定是否可以使用偏移量共享纹理,或者我是否需要为每个具有偏移量的图块创建一个新纹理.. 要创建偏移量,我使用统一值 = 32 * i 并通过创建图块的每个循环实例更新统一值,所有图块似乎都是相同的偏移量?因为基本上我希望图像看起来像它的一个图像没有分解成小块.但是当前的输出在所有 32 个块上都是相同的 x,y ..
发布时间:2021-07-23 20:02:07 其他开发

Three.js 从 WebGLRenderTarget 检索数据(水模拟)

我正在尝试将此 (http://madebyevan.com/webgl-water/ ) 移植到三个.我想我已经接近了(现在只想要模拟,还不关心焦散/折射).我想让它与着色器一起工作以提升 GPU. 这是我目前使用着色器的三个设置:http://jsfiddle.net/EqLL9/2/(第二个较小的平面用于调试当前在 WebGLRenderTarget 中的内容) 我正在努力从 W ..
发布时间:2021-07-23 20:02:04 其他开发

在 THREE.js 中检索顶点数据

我正在使用自定义着色器创建网格.在顶点着色器中,我正在修改几何顶点的原始位置.然后我需要从着色器外部访问这个新的顶点位置,我该如何实现? 解决方案 代替变换反馈(WebGL 1.0 不支持),您将不得不使用直通片段着色器和浮点纹理(这需要加载扩展 OES_texture_float).这是在 WebGL 中在 GPU 上生成顶点缓冲区的唯一方法.WebGL 也不支持像素缓冲区对象,因此读取 ..
发布时间:2021-07-23 20:02:01 其他开发

将 openssl 组合为控制台和库的问题

我想隐藏在 C/C++ 程序中用作字符串的文本信息(在我的例子中是 GLSL 着色器),因为它们在二进制文件中是直接可读的.因此,我考虑在编译/构建时加密文件并在运行时解密数据以继续重建着色器. 但是,我在使控制台上的 openssl 与 C 程序中的库 (evp) 一起工作时遇到了一些麻烦.我不得不承认,我绝不是密码学专家,但现在必须进入这个主题...... 这是我尝试过的: // ..
发布时间:2021-06-12 20:31:23 C/C++开发

属性着色器中的 mat4 类型

如何发送到 MAT4 类型的着色器属性? attribute mat4 attr;... JS: var attr=gl.getAttribLocation(_program,"attr"); 解决方案 来自规范第 2.10.4 节 当一个属性变量被声明为 mat4 时,它的矩阵列取自通用属性的 (x, y, z, w) 分量 i通过 i + 3. 所以 JS: va ..
发布时间:2021-06-12 20:14:14 其他开发

iOS 上 OpenGLES 上的冲突绘图

我正在编写一个允许绘制自由样式(使用手指)和绘制图像的应用程序.我在 OpenGL ES glFragColor 取决于 iOS 中片段着色器的条件.感谢很多建议,我解决了.现在我还有另一个新问题. 我有 2 个程序,它们的 ID 为 PROGRAM_POINT(绘制自由风格)和 PROGRAM_POINT_0(绘制图像).那些被初始化.每个程序都有一对着色器文件.PROGRAM_POINT ..
发布时间:2021-06-12 20:13:41 移动开发

使用 OpenGL 着色器绘制多边形的边

我想知道是否可以使用片段着色器绘制具有特定颜色的渲染多边形的边缘,如本示例图片所示: 或者我应该单独渲染它们? 解决方案 查看此页面上的相关工作:http://web.archive.org/web/20120527185124/http://cgg-journal.com/2008-2/06/index.html 顶点着色器应该渲染多边形,其中到每条边的距离都是彩色的. ..
发布时间:2021-06-12 20:12:27 其他开发

无法在 android 中编译 opengl 片段着色器 - 错误:0:7:'gl_GlobalInvocationID':未声明的标识符

无法在android中编译以下opengl片段着色器代码.GLES31.glGetString(GL_VERSION)显示opengl版本为3.2,设备似乎也支持此版本. 错误:- 编译着色器时出错:错误:0:7:'gl_GlobalInvocationID':未声明的标识符错误:0:7:“xy":字段选择需要左侧的结构、向量或矩阵错误:2 个编译错误.没有生成代码.03-31 10:39 ..
发布时间:2021-06-12 20:12:16 Java开发

如何在opengl中制作360度视频输出

我想要使用球形投影的 OpenGL 输出来制作 360 度全景视频. 现在我有立方体贴图面,它们是用 6 个透视相机生成的. 我需要这样的东西: 我怎样才能得到这个输出? 有什么想法吗? 解决方案 这取决于您希望使用的确切投影.对于简单的球形投影,您可以使用以下片段着色器将四边形渲染到目标纹理中: uniform samplerCube tex;在 vec2 te ..
发布时间:2021-06-12 20:11:48 其他开发

多重采样纹理采样

在 OpenGL 中对多重采样纹理(即多重采样 FBO 颜色缓冲区)进行采样的唯一方法是使用 texelFetch 并使用整数索引指定您想要的样本,这是真的吗?这不提供有关像素内样本位置的信息. 是否有一些参考可以提供每个样本的子像素偏移? 另外,位于多边形内部的碎片呢?这些不会使用所有的多样本样本:那么所有样本都包含相同的数据吗? 我试图想出一种方法来分割我的渲染场景,以便在片 ..
发布时间:2021-06-12 20:10:02 其他开发

计算 GPU 上的图像相似度 [OpenGL/OcclusionQuery]

OpenGL.假设我已经绘制了一张图像,然后使用 XOR 绘制了第二张图像.现在我在某处有一个带有非黑色像素的黑色缓冲区,我读到我可以使用着色器来计算 GPU 上的黑色 [ rgb(0,0,0) ] 像素? 我还读到它必须对 OcclusionQuery 做一些事情.http://oss.sgi.com/projects/ogl-示例/注册表/ARB/occlusion_query.txt ..
发布时间:2021-06-12 20:08:24 其他开发