- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在使用 OpenGL 为我的项目实现光照。仍在进行基本实现(让灯正确显示),我遇到了一个奇怪的问题。当尝试创建带有截止点(受光影响的有限角度)的聚光灯时,我得到非常硬的边缘,几乎像楼梯一样,如下图所示:
没有环境光(使用 glLightModel(GL_LIGHT_MODEL_AMBIENT, colorToFloatBuffer(new Color(0.0f, 0.0f, 0.0f, 1.0f)))
)并且我还禁用了点指数(指定如何光分布在圆锥体中)和所有衰减以使效果更清晰并且背景是一个大的白色图像(由于缺乏环境光而变黑;我也想知道为什么我什至不需要为了顺序使用图像看到光)。
这是我如何设置灯光:
glEnable(GL_LIGHTING);
glEnable(GL_COLOR_MATERIAL);
glLight(glLightID, GL_AMBIENT, colorToFloatBuffer(Color.blue));
glLight(glLightID, GL_DIFFUSE, colorToFloatBuffer(Color.black));
glLight(glLightID, GL_SPECULAR, colorToFloatBuffer(Color.black));
glLight(glLightID, GL_POSITION, floatBuffer.put(position.x).put(position.y).put(0.0f).put(1.0f));
glLight(glLightID, GL_SPOT_DIRECTION, otherFloatBuffer.put(1.0f, 0.0f, 0.0f));
glLightf(glLightID, GL_SPOT_EXPONENT, 0);
glLightf(glLightID, GL_SPOT_CUTOFF, 22.5f);
glLightf(glLightID, GL_CONSTANT_ATTENUATION, 1.0f);
glLightf(glLightID, GL_LINEAR_ATTENUATION, 0.0f);
glLightf(glLightID, GL_QUADRATIC_ATTENUATION, 0.0f);
另一方面,如果有帮助的话,我还会在应用任何这些效果之前缩放上下文(我使用透视图来实现某些视觉效果,但仍想保持正交坐标)。
最佳答案
有多种方法可以实现:
关于java - 如何在 OpenGL 中创建边缘平滑的聚光灯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29450482/
我正在尝试在 openGL 中的台球 table 上制作“聚光灯”。这应该相当简单,但出了点问题,我无法弄清楚是什么。 我有一个类“PoolLight”,我将其用作灯的一种保持类。这是: #inclu
我在创建漂亮的聚光灯时遇到了一些麻烦。到目前为止,我的光照属性是这样的: /* Spot light */ glEnable(GL_LIGHT1); GLfloat ambientColor[
我正在尝试用 Cg 实现聚光灯效果。 我已经设法做正常的环境和漫射照明。 我了解聚光灯的基本功能(位置、方向、截止角度),但在 Cg 中处理这些仍然让我望而却步。 这就是我计算聚光灯参数的方式: fl
显然,Spotlight 是查找文档的非常有用的资源,因为它能够搜索文档内 的文本以及标题中的文本。然而,这个过程必须需要大量的处理能力和时间。此外,某个文档,比方说 pdf 通常是加密的,如果 Sp
我不知道如何对图像应用数学计算。那么是否有任何现成的库和教程可用于对图像应用效果? 提前致谢。 最佳答案 你可以试试: http://opencv.willowgarage.com/wiki/ 或者这
我是一名优秀的程序员,十分优秀!