问题标签 [phong]
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.
opengl - 当我旋转模型视图矩阵时,我的灯光位置是否应该保留并且只有模型会旋转?
这是我如何旋转模型视图矩阵的代码片段:
据我所知,模型视图矩阵是负责从模型坐标到眼睛/相机坐标系的变换矩阵。
因此,如果我有两件制服,例如:
我使用 GLSL 来计算 ADS Phong 着色,我的模型应该旋转,但光线应该保持在同一位置,对吧?
抱歉,代码不可编译,但我问的是一般概念,希望这能给你足够的信息来给我建议。谢谢!
graphics - Phong 照明产生黑色
我想我不知何故陷入了一个基本问题,我只是没有得到正确的答案。
Phong 照明模型包含环境、漫反射和镜面反射部分。
每个部分都包含光的颜色(环境光或光源)与系数(环境光、漫反射、镜面反射)的乘积:I * coe
光和系数由 r,g,b 颜色通道组成:
假设一盏灯是绿色的 (0,1,0) 并且系数(不管哪个)是蓝色的 (0,0,1),结果将是黑色的 (0,0,0)。
这有什么意义?
javascript - THREE.js:模拟MeshBasicMaterial同时允许彩灯
我正在使用three.js 制作一个地牢爬行类游戏。我正在使用 MeshBasicMaterial 使所有东西都“真正明亮”,以使地牢始终可见。但是,我想在门口或墙上的缝隙下添加“奖励”灯以营造氛围。但是 BasicMaterial 上不显示灯光,所以我切换到 Phong 来测试我地板上的灯光。现在我的地板是黑色的!很可能是因为没有全局光。
有什么方法可以模拟 MeshBasicMaterial 的属性同时允许不同颜色的灯光?地牢的四个面都是封闭的,所以我想放置一个非常大的全局光会在各处投射阴影或覆盖地面的颜色。
不是我的问题的主要焦点,但另外:我如何做到让光线被墙壁挡住而不是仅仅穿过它们?墙壁只是由映射系统生成的 1x1x1 3d 网格立方体。
javascript - 使用滑块更改 Phong 着色器的值
我正在尝试使用 WebGL 和 Javascript 实现 3D 场景。最后一个场景应该显示一个长方体,四面都是较小的长方体、金字塔和球体。较小的球体必须与大长方体一起旋转。我实现了 Phong Shading,效果很好。现在我想用显示场景的画布右侧的三个滑块更改shininess
、lightPos
和的值。lightIntensity
闪亮的滑块显然不起作用,我更加纠结于其他两个滑块,因为lightPos
它们lightIntensity
是vec3
常量。三个变量的代码如下所示:
目前,光泽度滑块如下所示:
我很确定我做错了什么,但一项研究没有产生任何结果,我不知道下一步该做什么,所以我非常感谢你的帮助。如果您需要完整的代码,请告诉我。
c++ - Phong 闪电模型照亮角落
我正在尝试在这个cpp 框架中实现 phong 闪电模型。
扩散效果很好,但镜面反射似乎照亮了球体的角落……我不太确定为什么,因为公式似乎是正确的。有人有想法吗?
实际输出:
我的代码如下所示:
我非常感谢你能给我的任何提示......
android - threejs:有谁知道最近(牛轧糖)Android 智能手机版本上的 phong/标准着色支持发生了什么?
即MeshPhongMaterial、MeshStandardMaterial。这些材质现在呈现为黑色。
示例: https ://threejs.org/examples/#webgl_animation_skinning_blending https://threejs.org/examples/#webgl_geometry_teapot
在最后一个示例中,只有“线框”和“平滑”的阴影菜单适用于许多最近的低成本手机。这是因为这些手机不支持 GLSL 吗?制造商禁用支持是 GPU 问题还是电池寿命问题?
抱歉,如果这里的某个地方已经有很长的解释性线程;我找不到它。
opengl - 在 Phong Shading 中组合材质系数和纹理
我正在尝试实现一个简单的 Phong 着色器,它支持非基于物理的材质和纹理。即使材质对每个光分量都有纹理,我仍然希望各自的材质系数产生一些效果。我的疑问是如何处理这两个问题。我应该混合、相乘还是相加?现在我已经将它们相乘:
看起来有点暗,这是结合材质系数和纹理的正确方法吗?