lighting

    0热度

    1回答

    这是我在这里的第一篇文章,但我正在试图解决这个问题的墙壁撞我的头。下面的代码是我的一个令人难以置信的简单的Opengl ES 2.0应用程序的片段着色器。顶点着色器完成所有常见业务。问题在于高光反射,它正在对每个顶点的基础上执行计算,而不是每个片段。如果有人能向我解释为什么会发生这种情况,我将不胜感激。谢谢。 顺便说一句,对于效率低下的代码感到抱歉,我只是回到照明的基础知识来试图跟踪这个问题。 p

    4热度

    1回答

    我试图让一些简单的漫反射照明在GLSL中工作。我有一个正在传入的立方体作为点阵列,我正在计算我的几何着色器中的面法线(因为我打算在运行时变形网格,所以我需要新的面法线。) 我的问题是漫反射值正在改变,因为我在世界各地移动相机。所以我的魔方脸上的阴影随着相机的移动而变化。我一直无法弄清楚我错过了什么导致了这一点。我的着色器如下: 顶点: #version 330 core layout(loca

    3热度

    1回答

    我是OpenGL的新手。我想编写一个程序,显示两种不同颜色的形状,一个是圆环和一个球体,另外两个是独立的光源,可以围绕它们旋转。 到目前为止,我有这个代码,它使得光源很好地围绕环面旋转。但是我无法弄清楚如何添加一个Sphere和一个围绕它旋转的新光源。 编辑: 这是我的整个代码。当您按键盘上的's'或'd'键时,灯会旋转 #include "stdafx.h" #include <windows

    0热度

    1回答

    对于那些在计算机图形学方面熟悉XNA和颜色理论的人,我有一个快速问题。我正在做一个平铺游戏(有点像Terraria),我想知道如何去应用每个平铺照明到现场。彩色照明是这款游戏的必备品,现在我通过拥有4个2D字节阵列,存储整体光线和3种不同颜色的数量来解决这个问题。当瓷砖被绘制时,它将特定瓷砖的纹理置于其中,但是我将如何根据3个颜色值和整体光照在同一个瓷砖上应用颜色? 现在,这是我的颜色生成函数:

    0热度

    1回答

    所以我是新来的熊猫3D在c + +中,我创建了collada文件或DAE文件,以显示在熊猫3D。当我在pview中查看它们时,它们没有颜色或纹理。所以如果我按下L热键,就会出现颜色和纹理。我知道这与灯光有关。这同样适用于我进行dae2egg转换之后。当我将我的模型加载到我的实际程序中时,它是白色的,没有颜色。形状虽然它应该是。如果我使用set_color(...),当然会出现颜色,但仅限于我定义的

    1热度

    1回答

    我想创建一个使用JavaScript的基于网格的阴影引擎。我的算法基于它们的位置是否位于块的后面,相对于光源来遮蔽正方形。 这是我的算法迄今:https://jsfiddle.net/jexqpfLf/ var canvas = document.createElement('canvas'); canvas.width = 600; canvas.height = 400; documen

    8热度

    1回答

    编辑:我仍在寻找一些关于使用OpenCL或计算着色器的帮助。我宁愿继续使用OGL 3.3,而不必处理OGL 4.3和OpenCL 1.2的不良驱动程序支持,但我不能想到无需使用这两种颜色之一来进行这种类型的着色(以匹配灯光和砖)。是否可以在不使用GPGPU的情况下实施基于图块的选择? 我在OpenGL 3.3中写了一个延迟渲染。现在我不会对光通道进行任何剔除(我只是为每个光线渲染一个全屏四元组)。

    5热度

    1回答

    我使用文本网放置文本3D对象,但大家都知道,文网没有任何法线... http://docs.unity3d.com/Documentation/Components/class-TextMesh.html ...所以它不正确点亮。我做了一个搜索,发现很多人在照明3D文本网格时遇到了麻烦,因为它没有任何法线,但我还没有找到将法线添加到文本网格对象的解决方案,所以这是我的问题。 如何添加法线到文本网格

    0热度

    1回答

    我从http://code.msdn.microsoft.com/windowsapps/Direct2D-lighting-effects-e0801da3 URL获得了direct2d灯光样本。该示例看起来非常令人印象深刻,但我不明白的是,在照明效果之后,位图中的像素总是被光源的颜色替代,与direct3d不同,其中每个像素颜色取决于光线和反射的对象它。所以我的问题是我们如何使用direct2

    2热度

    1回答

    这是否以下技术: for(int light=GL_LIGHT0; light<=GL_LIGHT7; light++) glEnable(light); 始终启用GL_LIGHT0通过GL_LIGHT7完美?我想知道对于OpenGL灯光的#define是否总是像在我的OpenGL头文件中那样递增一个接一个。