- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要一个简单的聚光灯着色器的帮助。
圆锥内的所有顶点都应为黄色,圆锥外的所有顶点都应为黑色。
我只是无法让它工作。我认为这与从世界到眼睛坐标的转换有关。
顶点着色器:
uniform vec4 lightPositionOC; // in object coordinates
uniform vec3 spotDirectionOC; // in object coordinates
uniform float spotCutoff; // in degrees
void main(void)
{
vec3 lightPosition;
vec3 spotDirection;
vec3 lightDirection;
float angle;
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
// Transforms light position and direction into eye coordinates
lightPosition = (lightPositionOC * gl_ModelViewMatrix).xyz;
spotDirection = normalize(spotDirectionOC * gl_NormalMatrix);
// Calculates the light vector (vector from light position to vertex)
vec4 vertex = gl_ModelViewMatrix * gl_Vertex;
lightDirection = normalize(vertex.xyz - lightPosition.xyz);
// Calculates the angle between the spot light direction vector and the light vector
angle = dot( normalize(spotDirection),
-normalize(lightDirection));
angle = max(angle,0);
// Test whether vertex is located in the cone
if(angle > radians(spotCutoff))
gl_FrontColor = vec4(1,1,0,1); // lit (yellow)
else
gl_FrontColor = vec4(0,0,0,1); // unlit(black)
}
void main(void)
{
gl_FragColor = gl_Color;
}
if(angle > radians(spotCutoff))
if(acos(angle) < radians(spotCutoff))
最佳答案
(让spotDirection 为向量A,lightDirection 为向量B)
您正在分配;angle = dot(A,B)
公式不应该是:cos(angle) = dot(A,B)
或者angle = arccos(dot(A,B))
http://en.wikipedia.org/wiki/Dot_product#Geometric_interpretation
关于opengl - 简单的 GLSL 聚光灯着色器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10628538/
我正在尝试在 openGL 中的台球 table 上制作“聚光灯”。这应该相当简单,但出了点问题,我无法弄清楚是什么。 我有一个类“PoolLight”,我将其用作灯的一种保持类。这是: #inclu
我在创建漂亮的聚光灯时遇到了一些麻烦。到目前为止,我的光照属性是这样的: /* Spot light */ glEnable(GL_LIGHT1); GLfloat ambientColor[
我正在尝试用 Cg 实现聚光灯效果。 我已经设法做正常的环境和漫射照明。 我了解聚光灯的基本功能(位置、方向、截止角度),但在 Cg 中处理这些仍然让我望而却步。 这就是我计算聚光灯参数的方式: fl
显然,Spotlight 是查找文档的非常有用的资源,因为它能够搜索文档内 的文本以及标题中的文本。然而,这个过程必须需要大量的处理能力和时间。此外,某个文档,比方说 pdf 通常是加密的,如果 Sp
我不知道如何对图像应用数学计算。那么是否有任何现成的库和教程可用于对图像应用效果? 提前致谢。 最佳答案 你可以试试: http://opencv.willowgarage.com/wiki/ 或者这
我是一名优秀的程序员,十分优秀!