问题标签 [pixel-shading]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unity3d - Unity 无阴影“Fullbright”
有没有办法让 Unity3D 中的关卡全亮?
我只想在一个超现实的项目中移除阴影和灯光,以获得一个全亮的世界,在这个世界中,纹理总是按原样显示,而不是来自其他物体、地板、墙壁等的阴影。
graphics - 如何在 POV-ray 中进行 phong 着色
我正在使用 POV 射线光线追踪器进行渲染。当我使用以下方法渲染它时,我有一个三角形网格:
我没有得到平滑的阴影,POV-ray 中还有一个平滑阴影的规定,它正在使用:
但问题是它需要三角形角的法线(它使用 phong 着色),如何计算三角形角的法线?如何在 POV-ray 中获得平滑的阴影?
注意:共享公共顶点的三角形在这些顶点处具有相同的法线
c++ - 简单的光线追踪器,漫反射着色问题 c++
我正在编写一个基本的光线追踪器,以更好地理解整个事情。我遇到了一个困扰我一段时间的问题,球体的漫反射阴影。我使用来自以下来源的公式来计算球体交叉点和漫反射阴影。
http://www.ccs.neu.edu/home/fell/CSU540/programs/RayTracingFormulas.htm
之前显示了我的计算阴影的代码(尝试复制链接上的源代码)。在大多数情况下,计算有时在某些球体上看起来是正确的,但是取决于灯光位置,取决于球体阴影看起来的正确/损坏程度。
从图片中可以看出,一些球体似乎被正确着色,而另一些球体则完全破碎。起初我认为问题可能在于 UnitVector 计算,但是当我查看它时,我无法找到问题。任何人都可以看到问题的原因吗?
注意:我使用 OpenGL 来渲染我的场景。
更新:我仍然遇到一些问题,但我认为在你们的帮助下,大部分问题已经得到解决,并且对我计算单位向量的方式进行了一些更改。更新如下所示。非常感谢所有给出答案的人。
interpolation - 计算机图形的照明和阴影
我正在准备明天的考试,这是练习题之一。我部分解决了它,但我对其余部分感到困惑。这就是问题所在:考虑一个没有环境光和镜面光(只有漫射光)的灰色世界。三角形 P1,P2,P3 的屏幕坐标为 P1=(100,100), P2= (300,150), P3 = (200, 200)。P!、P2、P3 处的灰度值分别为 1/2、3/4 和 1/4。光在无穷远处,其方向和灰度分别为 (1,1,1) 和 1.0。漫反射系数为1/2。P1,P2,P3的法线分别为N1= (0,0,1), N2 = (1,0,0), N3 = (0,1,0)。考虑三个点 P1,P2,P3 的坐标为 0。不要对法线进行归一化。我已经计算出 3 个顶点 P1、P2、P3 的光照为 (1/4,3/8,1/8)。我还计算了坐标为 (220, 160) 的三角形内点 P 的插值系数由 (1/5,2/5,2/5) 给出。现在我对这个问题还有 4 个问题。
ogre - 如何在 Ogre3d 中启用每像素着色
我正在用 Ogre3D 中的聚光灯照亮一架飞机。然而,热点上的边缘呈现锯齿形效果。看起来平面上的着色是在每个顶点处完成的,没有任何插值。
线框渲染结果如下图:
如何在 Ogre3D 中启用逐像素光照,从而平滑热点的边界?
opengl - 是否可以在像素着色器中绘制简单的几何形状?
我目前正在学习着色器和图形管道,我想知道是否可以使用像素着色器来创建例如三角形或更复杂的形状,例如锯齿形。
这可以在不使用顶点着色器的情况下完成吗?
opengl - 如何使用实例渲染实现密度图
我偶然发现了Kévin Boulanger 写的关于渲染草的精彩博客。
在他的项目中,他使用了一定的密度图:
黑色区域代表 3D 世界中要渲染草的地方。白色区域是没有草的地方。
我的问题是——我正在使用 OpenGL 的实例渲染功能在我的场景中渲染草。但是草几乎横跨整个地形。我无法用我正在渲染的草的位置来映射这样的密度图。
如何将此类密度图与实例渲染一起使用?
java - 朗伯着色器不工作
我正在尝试为我的光线追踪器制作朗伯着色器,但遇到了麻烦。场景似乎仍然是平坦的阴影,只是稍微暗了一点。比如这张图片
这是我的着色器类:
如果您想查看更多我的代码,请告诉我。
python - 通过将不透明度设置为数据梯度,在 Matplotlib imshow 中创建地图着色的问题
我试图通过计算数据的梯度并使用它来设置 alpha 值来为某些数据的映射添加阴影。
我首先加载我的数据(不幸的是,我无法共享这些数据,因为它正在准备中的许多手稿中使用。编辑 - 2020 年 12 月:已发表的论文可在勘探地球物理学家协会图书馆开放访问,并且数据可通过随附的Jupyter Notebook获得):
给我一张数据图:
然后我计算总水平梯度并将其归一化以用于着色:
看起来和我预期的一样:
为了创建阴影效果,我想我会从数据图中获取颜色,然后用渐变替换不透明度,以便使深色阴影与渐变成比例,如下所示:
但结果不是我所期望的:
这就是我正在寻找的(在 Matlab 中创建,颜色图不同):
关于如何修改我的代码的任何建议?
更新使用 Ran Novitsky 的方法,使用 titusjan 的答案中建议的代码,我得到以下结果:
这给出了我正在寻找的效果。在阴影方面,虽然我确实喜欢 titusjan 自己使用 HSV 的建议,它给出了这样的结果: .
但是,即使我要求它,我也无法将颜色图设为 cubehelix:
c++ - 像素着色不太平滑
我正在实现一个带有简单阴影(环境+漫反射)的基本高度图。着色是在片段着色器上实现的,如下图所示。
我所做的是基于正常的 fragNormal 计算一个简单的漫反射分量。此变量直接从顶点着色器传递。
这是我目前拥有的屏幕截图:
这是带有像素着色的高度图的预期结果吗?我对表面不是很光滑的事实有点恼火。
但是,如果这是预期的,那么有什么技术可以改善我目前拥有的东西吗?
为了计算法线,我使用了以下算法: 有限差分法(堆栈溢出)