Questions tagged «shaders»

在图形硬件上运行的计算机程序,可高度控制场景的渲染方式

1
如何创建“墙后看”效果?
神性:原罪2具有漂亮的透明系统。当我走到墙后时,会出现一个防溅板,当我在游戏中四处移动时,它会发生变化。它就像一个溶解着色器,并具有金属球效果。 当玩家躲在墙后时,我该如何复制这种效果并创建一个动态的防溅面具? 您可以通过此YouTube视频观看所需的运动效果。




4
使用多个着色器
我目前正在研究opengl着色器,但无法弄清楚:如何将不同的着色器应用于对象,例如,使用卡通着色器渲染的茶壶,以及在同一场景中使用非常反射的表面绘制的茶壶,以及其他因扭曲而变形的对象杂讯功能,例如这部影片 http://www.youtube.com/watch?v=1ogg4ZfdBqU 另一个是在场景中应用Bloom Bloom着色器,然后再应用运动模糊着色器。当您只有一个顶点着色器和一个片段着色器时,如何实现这些效果?是否有诸如使用多个着色器程序之类的技巧?
53 shaders  glsl 

1
Raymarch着色器如何工作?
我一直在看这里的shaderoy.com中的着色器,大多数很酷的着色器都有共同的噪点和raymarch。我完全不了解源代码,但我确实想要。这些着色器如何工作,raymarch算法如何工作?我到处搜索,找不到关于该主题的任何内容。 谢谢


2
如何渲染逼真的冰?
我试图在Unity中编写一个看起来很好并且至少是半现实的冰着色器。 如果以下快照(在Google上找到)是CG,其着色器将包括哪些内容?(前景洞穴)。我可能是错的,但看起来它甚至具有与默认漫反射不同的照明模型。

2
成功执行glLinkProgram之后,是否应该删除/分离着色器?
在拥有链接的程序并考虑防御性编程之后,是否应该删除和分离用于链接该程序的着色器? 如果是,那将释放任何资源吗?还是仅在glDeleteProgram调用之后才释放这些着色器对象? 编辑:只是为了澄清我在做什么(与答案一致): glCreateShader-> glShaderSource-> glCompileShader-> glCreateProgram-> glAttachShader-> glLinkProgram-> glDetachShader-> glDeleteShader->使用此着色器程序绘制->当我不再需要此着色器时,glDeleteProgram
45 opengl  shaders 

1
如何减少轮廓发光效果中的锯齿?
我正在尝试在《 Left 4 Dead》游戏中复制发光的轮廓效果。即使对象被遮挡,该效果也会使对象轮廓发光。这是效果的屏幕截图: 我可以在基于OpenGL的程序中复制这种效果。这是我目前正在做的: 创建颜色和深度纹理,其大小是屏幕尺寸的一半,用于渲染发光的对象 清除发光颜色/深度纹理。颜色清除为黑色。 对于每个发光对象,将其渲染为单色的发光纹理 对发光纹理执行可分离的高斯模糊 正常渲染全分辨率场景 将辉光纹理与正常场景相加,但是使用辉光深度纹理可以遮盖对象,仅留下模糊的轮廓。 这是我的方法的屏幕截图: 这是将发光纹理与场景结合在一起的片段着色器: uniform sampler2D glowColorTex; uniform sampler2D glowDepthTex; uniform sampler2D sceneColorTex; void main() { vec2 uv = gl_TexCoord[0].st; vec4 color = texture2D( sceneColorTex, uv); float depth = texture2D( glowDepthTex, uv).r; if(depth == 1.0) { color += 2.0 * texture2D( …
42 opengl  shaders  glsl  glow 

5
游戏中的演员应该负责吸引自己吗?
我对游戏开发非常陌生,但对编程却不是。 我(再次)使用JavaScript的canvas元素在玩Pong类型的游戏。 我创建了一个Paddle具有以下属性的对象... width height x y colour 我也有一个Pong具有诸如...的属性的对象 width height backgroundColour draw()。 该draw()方法当前正在重置canvas,这就是出现问题的地方。 如果Paddle对象具有draw()负责其绘制的方法,或者draw()该Pong对象的负责负责其演员的绘制(我认为这是正确的术语,如果我不正确,请更正我)。 我发现在Paddle实例化两个对象Player和时,绘制自身会很有利Enemy。如果在没有Pong的draw(),我需要两次写类似的代码。 最佳做法是什么? 谢谢。

4
3D图形编程中的片段是什么?
片段着色器中的片段是什么?维基百科说: 通常,可以将片段视为遮蔽像素所需的数据,再加上测试片段是否能够存活成为像素所需的数据(深度,alpha,模板,剪刀,窗口ID等)。 那么它是纹理,顶点还是其他东西?

12
有什么好的学习HLSL的资源?[关闭]
上一次尝试学习HLSL时,我制作了一些着色器,并且大部分都了解我在做什么,但是我仍然觉得自己在黑暗中跌跌撞撞。我从很多博客文章中学到的大部分内容并不能很好地解释。 此外,有关MSDN的文档似乎更多是功能参考。 在哪里不仅可以学习编写HLSL,还可以学习编写着色器的技术?
28 shaders  hlsl 


3
轮廓物体效果
如何获得类似于《英雄联盟》或《暗黑破坏神III》中的轮廓效果? 使用着色器完成吗?怎么样? 我希望答案不限于任何特定的引擎,而是可以适应我正在使用的任何引擎的答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.