首页 文章
  • 0 votes
     answers
     views

    如何使用gl_position将值写入顶点着色器中的指定坐标?

    我只想将输入点写入顶点着色器中的指定坐标以进行某些gpgpu操作 . 细节:我有5个点,顶点着色器中有一些算法 . 然后我想将points_result [0]写入纹理(渲染到纹理),坐标是(1,0),这样我就可以使用结果纹理中的glReadPixels,(或类似于(0.5,0.5)的第一个point_result ,(1.5,0.5)为第二个point_result . 等) . Namely,...
  • -1 votes
     answers
     views

    glutStrokeString和着色器 - 所有字符都在彼此之上

    我有一个非常简单的着色器,它应用了一个直接的WVP转换 . 它适用于某些几何体,但是如果我用glutStrokeString绘制一个字符串,那么所有字符都会相互重叠 . 是否可以使用自定义着色器绘制字符串,如果是这样,着色器如何捕获字符串中单个字符的转换? 这是我的着色器:静态const char * pVS =“\ n \ #version 330 \ n \ \ n \ layout(位置= ...
  • 0 votes
     answers
     views

    GLSL Shader无法编译,Java和LWJGL着色器错误

    编译我的着色器时,我几次遇到此错误 . 这是infoLog /错误 顶点着色器无法编译时出现以下错误:错误:0:1:错误(#132)语法错误:“<”解析错误错误:错误(#273)1编译错误 . 没有代码生成 这发生在片段着色器上 . 这是我非常基本的测试顶点和frag着色器代码: @version 330 layout (location = 0) in vec3 position; v...
  • 0 votes
     answers
     views

    从后面照亮2D对象

    我正在研究2.5D照明问题 . 我想创造一种效果,月亮从后面照亮2D物体 . 你见过像这样的问题的解决方案吗?我正在尝试在Unity中的精灵上使用法线贴图,当月亮从后面伸出来时看起来很精细 - 但是当它完全落后于它(如第三张图片中)时,效果不起作用 - 因为要点亮3D中的2D元素,你必须从前面点亮它,据我所知,也许有一个解决方案不涉及真实光线,但只有显示基于角度的模板的着色器 . 你有任何聪明的(...
  • -2 votes
     answers
     views

    Shader提供错误的片段颜色

    我遇到了我在着色器体验中遇到过的最奇怪的问题 . 我创建了一些测试着色器代码(见下文)并在一个简单的纹理上运行它 . 基本上我试图做的是让我的着色器检查片段的颜色,如果它在一定范围内,它将根据统一的颜色变量为该片段着色 . 我遇到的问题是我的着色器无法正确识别片段的颜色 . 我甚至还去检查颜色的红色部分是否等于1,并且每个片段总是返回true . 然而,如果我使用相同的着色器绘制原始纹理,它就可以...
  • 1 votes
     answers
     views

    OpenGL:在着色器中实现的Blinn-Phong模型给出了错误的结果

    首先,我是计算机图形学,openGL的新手,并具有c编码的基本知识 . 我已经和openGL项目一样挣扎了一个月,并且已经到了我必须用Blinn-Phong模型实现着色的地步 . 我已经在顶点和片段着色器中实现了计算 . 在代码中存在/可能存在一些小错误,因为没有着色一切都可以完美地工作但是在着色部分被添加到着色器后,任何事情都不会发生 . 我在片段着色器中计算表面法线,也使用纹理而不仅仅是颜色 ...
  • 0 votes
     answers
     views

    QtQuick2:将GLSL着色器/图形效果应用于Window元素?

    我一直在使用QtQuick和QML测试GUI可能性,但是我一直无法找到有关将GLSL着色器效果应用于Window本身的信息 . 例如,假设我想创建一个全屏应用程序,只是模糊窗口后面的一切;当您在桌面上移动应用程序窗口时,窗口后面的所有内容都会受到着色器的影响,如果您最大化应用程序,整个屏幕都会受到影响 . 在官方的QtQuick5.2文档中,他们提到将shader effect应用于Image元素...
  • 4 votes
     answers
     views

    Metal使用计算着色器模拟几何着色器

    我正在尝试在Metal中实现体素锥跟踪 . 算法中的一个步骤是使用几何着色器对几何体素进行体素化 . Metal没有几何着色器,因此我正在研究使用计算着色器模拟它们 . 我将顶点缓冲区传入计算着色器,执行几何着色器通常会执行的操作,并将结果写入输出缓冲区 . 我还向间接缓冲区添加了绘图命令 . 我使用输出缓冲区作为顶点着色器的顶点缓冲区 . 这工作正常,但我的顶点需要两倍的内存,一个用于顶点缓冲...
  • 0 votes
     answers
     views

    iOS Metal需要片段函数中的常量

    我正在尝试了解Apple的Metal并转换一些旧的opengl着色器 . 我陷入了一个只出现在一个项目而不是其他项目中的错误 . 我想询问是否存在编译器选项或类似的东西,我不知道并且可能导致此错误 . 所以...我有一个音乐播放器的音频可视化器,我之前在Android的ndk上使用opengl写的 . 我在一个空项目中将着色器转换为金属 . 片段方法签名是这样的: fragment float4 ...
  • 5 votes
     answers
     views

    编写具有每个三角形/面的纯色的GLSL片段着色器的方法

    我有顶点和三角形数据,其中包含每个三角形(面)的颜色,而不是每个顶点的颜色 . 即,单个顶点由多个面共享,每个面可能具有不同的颜色 . 我应该如何在GLSL中解决这个问题,以便为每个正在渲染的面部获得纯色分配?通过平均顶点相邻多边形的颜色来计算和分配"vertex color"缓冲区很容易,但这当然会产生模糊结果,其中颜色在片段着色器中进行插值 . 我真正需要的不应该是插值颜色...
  • 4 votes
     answers
     views

    2D中的GLSL渲染

    (OpenGL 2.0) 我设法在opengl中做了一些不错的文本渲染,并决定将其设计为着色器 . 但是,在固定管道模式下看起来不错的渲染字体纹理在GLSL模式下看起来很不愉快 . 在固定管道模式下,我没有看到GL_LINEAR和GL_NEAREST过滤之间有任何区别,这是因为纹理不需要真正过滤,因为我设置了正交投影并将四边形的宽度和高度与纹理坐标对齐 . 现在,当我尝试使用着色器渲染它时,我可以...
  • 1 votes
     answers
     views

    OpenGL多重纹理混合

    我正在尝试像photoshop一样实现图层功能 . 这是我想要画的.. 但它如下图所示 它使用两层 . 用2个纹理框架构建一个用于背景,另一个用于绘制 . 纹理与片段着色器混合 . mediump vec4 tex0_color = texture2D(texunit0,TexCoordOut); // bg texture mediump vec4 tex1_color = textu...
  • 0 votes
     answers
     views

    OpenGL纹理覆盖材质颜色

    我想渲染一个场景并将材质颜色与纹理混合 . 我正在使用可编程管道和GLSL,当调用函数texture()时,网格的所有部分都希望没有纹理变得透明 . (即使我不在最终的fragColor中使用vec4) 看下面的screeshots,在第一个图像中我只有材质颜色,在第二个应用纹理,但只有材质颜色的面变得透明 . 在我的片段着色器中,我有类似的东西: vec4 tex = texture(texs...
  • 6 votes
     answers
     views

    像素完美纹理映射与现代OpenGL

    在决定尝试在现代OpenGL中编程之后,我已经留下了固定功能管道,我不完全确定获得与之前相同的功能 . 我正在尝试使用像素完美尺寸来纹理 Map 四边形,匹配纹理大小 . 例如,128x128纹理映射到四倍128x128的大小 . 这是我的顶点着色器 . #version 110 uniform float xpos; uniform float ypos; uniform...
  • 5 votes
     answers
     views

    使用uniform sampler2d []时无法解释的行为

    对不起,这需要一点解释 . 我试图让它变得尽可能简单 . What I want to do: 我正在看高度场 . 高度字段可以具有多个补丁 . 贴片是一种较小的纹理,可以改变高度字段 . 我正在使用OpenGL 4.0,主要是tesselation着色器 . 但是对于这个问题,这应该是无关紧要的 . What is working allready. 我有高度字段(没有补丁)的可视化工作 . 关...
  • 0 votes
     answers
     views

    纹理坐标和优化GLSL着色器

    我正在讨论以各种方式将纹理坐标传递给GLSL着色器的优缺点 . 我正在渲染大量的实例数据 . 我有一个基本模型,然后我将转换矩阵和纹理/精灵索引传递给我的着色器 . 然后根据转换矩阵旋转和转换每个模型,并根据此片段确定纹理: TexCoord0 = vec2(TexCoord.x+(TexIndex%16),TexCoord.y+(TexIndex/16))/16; 我不喜欢这件事是我已经对精灵...
  • 2 votes
     answers
     views

    Shader GLSL OpenGL上的投影矩阵问题

    SOLUTION 问题出在我的z区间我正在考虑z上的负值(-0.1f <z <100f),相反,我使用了近/远平面ex的正间隔:(0.0f <z <100.0f),我安排了在OpenGL中被弃用的其他东西,我把我的不良位置安排在我的glm :: lookAt上 . 注意:不要将旧的渲染方式与新的渲染方式混合(这是一个很好的做法但可能有问题),顺便说一句:你必须了解你在空间...
  • 3 votes
     answers
     views

    OpenGL和GLSL内存对齐,适用于制服和变化

    我遇到了困扰我的事情,我无法找到答案 . 当我写这样的着色器时: layout (location = 0) in vec3 inPosition; layout (location = 1) in vec3 inNormal; layout (location = 2) in vec2 inTexCoords; 我知道vec3不是像许多vec4那样对齐16字节,或者是SIMD兼容的数据类型 ....
  • 2 votes
     answers
     views

    计算3D地形的正确纹理坐标

    使用纹理,我正在尝试将数据传递给我的着色器,因此它知道每个片段应该是什么颜色 . 我正在尝试使用8位整数创建体素类型的地形(Minecraft样式体素),每个RGBA值是着色器上指定的不同颜色 . 值1可能是绿色,2可能是棕色 . 如果我的数学是正确的,那么2048 x 2048大小的纹理就是体素地形数据所需的确切大小: 2048 x 2048大小纹理= 4194304像素 . 一次装入8 x ...
  • 3 votes
     answers
     views

    Unity移动游戏滞后探测器herlp

    我正在开发一款简单的移动游戏 . 我是初学者/中级 . 我的游戏是一个简单的无尽的跑步者,像疯狂的出租车,你跳过其他车 . 对于环境,我使用了一个低polly免费资产包 . 游戏在我的笔记本电脑上完美运行但是当我构建了一个apk并在几台设备上检查时它的滞后很多 . 我使用低聚资产,所以我认为这不是问题 . 我知道移动设备的资源要少得多,所以如何解决这个问题或将来避免使用它?我在应用程序商店看到很...
  • 1 votes
     answers
     views

    使用GLSL着色器时,亮度不起作用

    我的程序的目标是使用GLSL着色器渲染由光点照亮的简单立方体 . 问题是我的立方体保持黑色,就像禁用了光照属性一样 . 几个小时以来,我一直在寻找解决方案 . 我有两个缓冲区(一个用于位置顶点,另一个用于普通顶点) . 这两个缓冲区由Blender生成 . 我以前在使用Vertex Arrays的基本OpenGL程序中使用它们,它运行得很好 . 现在我只想做同样的事情,但这一次使用GLSL着色器 ...
  • 1 votes
     answers
     views

    实时网络摄像头着色器效果

    我想创建一个基本上捕获网络摄像头源并在Windows上应用自定义着色器效果的应用程序 . 我真的可以使用GLSL,HLSL和任何着色器语言 . 我试过使用Qt,它有一些very nice examples with QML and Qt Mobility,但不幸的是,它确实没有找到解决我问题的方法 . 我正在使用Windows 7 64位 . 所以我的问题是:我应该使用哪些工具来快速构建一个简单的...
  • 1 votes
     answers
     views

    GLSL玻璃效果加深度剥离

    我正在努力渲染一个可能有多个交叉透明对象的场景 . 这使得排序和绘制的标准方法有问题(如果三角形相交,甚至排序三角形也不起作用) . 所以我使用GLSL片段着色器实现了深度剥离,以进行第二次深度测试 . 它很棒 . 现在我希望能够使用着色器应用某些效果 . 场景中的一个对象是注射器,我想应用玻璃效果 . 如果我回到前面,这很容易 - 只需在我绘制注射器时启动着色器,因为它背后的所有内容都已经在帧缓...
  • 3 votes
     answers
     views

    如何在GLSL中编写“纹理呼吸”着色器?

    我正在研究一个小的2D视频游戏,在网上搜索与它无关的东西时,我发现了这个视频:http://vimeo.com/67886447我真的很喜欢它 . 我要它 . 作者概述了这个过程: 通过计算源照片的矢量导数然后沿结果轴应用迭代平流来产生效果 . 次级标量场控制平流的强度和幅度,并允许一系列有趣的效果,包括脉冲,挥动和呼吸 . 据我所知:计算梯度场,然后像素在相应矢量的方向和幅度上移动 . 我猜...
  • 1 votes
     answers
     views

    将网格渲染器的材质元素0更改为选定图像作为着色器

    由于Unity不提供三角形对象,我需要通过C#创建它 . 通过C#添加Mesh Filter和Mesh Renderer后,对象无法在场景中再次添加此类组件 . 我只能改变创建的对象的颜色 . 现在,我需要将网格渲染器的材质元素0更改为选定的图像作为着色器 . 我已经尝试过Resources.Load()和Shader.Find()但它们不起作用 . 我怎么能在C#中做到这一点?请用代码说明 . ...
  • 2 votes
     answers
     views

    着色器中的统一相对方向

    我在Unity中有一个场景: 一个空的游戏对象,我们称之为“ Center ” 由着色器投影到球面上(以 Center 为球体中心)的网格 它工作正常 . 我试图添加基于 center -> vertex 的3dnoise(我们称之为“ direction ”) . 它工作正常 . 现在我正在尝试使用基于 direction 的相同3dnoise,但相对于 Center 方向 ....
  • 1 votes
     answers
     views

    奇怪的结果w / Blinn-Phong GLSL着色器,点光源

    我已经制作了一个GLSL着色器,用于在场景中进行每像素的blinn phong照明,并且我在场景中投射了一些问题 . 每个灯光的效果似乎都有一个非常坚硬的边界(在附加的截图中,你可以看到底部平面上的光线边界 - 光线(其世界位置相当于场景中悬挂的黑色球体)悬在上面飞机和法拉利车型,但由于某种原因,只能将光线适当地朝向/朝向相机,而不是向前,远离相机 . 我觉得我犯了一些错误/缺乏对眼睛方向如何影响...
  • 0 votes
     answers
     views

    强制精灵对象始终位于THREE.js中的天幕对象前面

    我目前有一个自定义着色器在天幕上绘制渐变,并希望在天幕前面有一个太阳/月亮(从用户的角度来看) . 最简单的方法是为太阳和月亮准备精灵,但出现的问题是精灵会被留在天空中(精灵位于天幕的前方和中间位置) . 我试图用polygonoffset解决这个问题,但这似乎不适用于精灵对象 . 所以我的问题是,如何在天空之上设置太阳/月亮而不必修改我的自定义天幕着色器以添加渐变的太阳/月亮纹理(这可能最终会非...
  • 1 votes
     answers
     views

    Unity闪亮着色器覆盖2D精灵

    我有一个Unity着色器可以为2D精灵闪亮: //Kaan Yamanyar,Levent Seckin Shader "Sprites/ShinyDefault" { Properties { [PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {} _Colo...
  • 0 votes
     answers
     views

    漫反射着色器在2d Map 中导致垂直线条

    vertical line tear in-game 问候!我一直在使用tiles和tiles2unity设计并将我的 Map 导入Unity,没有任何问题,只要我坚持使用默认的tiles2Unity着色器或sprite>默认着色器 . 但是,我一直在尝试将光照实现到项目中,因此必须将着色器更改为某种形式的漫反射 . 当我从上面提到的两个以外的任何地方更改平铺 Map 着色器时,我在平铺之间...

热门问题