问题标签 [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.

0 投票
1 回答
899 浏览

ms-word - 单元格阴影仅在打印时可见?微软字 2010

我有一堆带有表格的 Word 文档。我在创建它们时使用的是 Windows XP 和 Office 2007。在文档中,我经常使用单元格阴影(倾斜的小桶)对某些单元格进行阴影处理,以使它们脱颖而出。我升级到 Office 2010 并且所有文档都很好。

我们最近升级到装有 Office 2010 的 Windows 7。我到处都在阅读,Office 没有附带任何版本的 Windows 7,但这是我的工作,他们用来将所有计算机升级到 Windows 7 的任何图像都已经安装了 Office 2010,所以我不知道。

无论如何,自从升级以来,我的文档的原始单元格阴影不再对我可见。起初,我以为它已经完全消失了,因为它看起来好像什么都没有,但是当我打印文档时,它们会打印出阴影,好像什么都没有。

如果我应用新的单元格阴影,我可以在屏幕上看到它,但原来的阴影是“隐藏的”或其他东西。有谁知道可能会发生什么?

0 投票
2 回答
1574 浏览

three.js - BufferGeometry always creates FlatShading normals. I need SmoothShading

I use ThreeJS r68.

I always used THREE.Geometry for my project and it just works fine. Now I want to change from THREE.Geometry to THREE.BufferGeometry because I read that this is the better choice. But I couldn't get SmoothShading to work with my THREE.BufferGeometry.

I load my Object into a BufferGeometry and call bufferGeometry.computerVertexNormals. And then my result is FlatShading.

I read in the computeVertexNormals() method that BufferGeometry calculates differently if I use an "index" attribute. I tried to create an "Indexed" BufferGeometry but that just made everything worse. I don't know if I just created that right. I just added the indices like I would add them to the faces in a normal Geometry. The BufferGeometry.fromGeometry() method does not create an indexed BufferGeometry so I don't know where to look.

Do I need an indexed BufferGeometry for SmoothShading?

UPDATE

[... some time later....]

I think I could create a indexed THREE.BufferGeometry now. It's more like Geometry. And smooth shading looks fine with an indexed BufferGeometry. So now i have SmoothShading but a invalid uv-map. But why is the uv-map different in an indexed BufferGeometry to compared to not indexed BufferGeometry? BufferGeometry is really not easily loaded.

0 投票
1 回答
289 浏览

transparency - 使用 itextdpf 进行透明着色

我正在尝试在 itextpdf 中使用阴影。我希望我的矩形(此处命名为位置)从灰色变为透明。这是我编写的代码,但它不起作用:似乎 new BaseColor(255,255,255,0) 的行为类似于 BaseColor.WHITE。任何想法 ?

0 投票
1 回答
237 浏览

c++ - 为什么基本的镜面反射着色是流畅的,而不是锯齿状的?

简单的问题,我刚刚让我的第一个镜面着色器工作,并查看数学,我不禁认为每个边缘之间的角度应该导致“镜面反射”尖峰/变成锯齿状。但它完全是流体/球形的。

这个想法是计算顶点法线的角度,但只有这么多,“镜面阴影”仍然完美均匀。

我看不出 gpu 如何仅根据顶点法线知道片段的角度。

在此处输入图像描述

编辑:垂直着色器

和碎片

答案:插值

对于渲染器,这将等同于平均曲线,而不是锯齿状边缘(平坦阴影)

0 投票
1 回答
384 浏览

javascript - webGL,javascript:尝试访问属性 1 中超出范围的顶点

我不明白如何解决这个错误。我能够在两个角上制作一个带有两个球体的 xz 平面。球体带有阴影(一个 goroud,一个 phong),平面为平面颜色。但是,当我尝试以棋盘格图案对飞机进行纹理化时,我开始收到此错误。

这是我的 HTML:

这是我的javascript:

任何帮助,将不胜感激。

0 投票
0 回答
59 浏览

c - 错误的球体阴影

在我的程序中,我试图将 .obj 文件导入 OpenGL,但是如果我计算法线并使用它们,我会得到错误的结果:(计算法线,对我来说接缝没问题,但结果不是我想要的)

结果

简单的 .obj 文件(立方体):

这是我的代码的一部分。(它不是很干净......)

0 投票
1 回答
92 浏览

graphics - Phong 着色模型

n当和之间的角度l<= 0时,为什么出射辐射等于0?

在此处输入图像描述

这来自《实时渲染》一书。

0 投票
1 回答
275 浏览

graphics - 平面着色坐标系

有人可以指导我到一个链接,然后我可以解决这样的问题,因为这是一个考试问题,我想在寻求解决方案之前先尝试一下。

考虑三个顶点A(0,2,-1)、B(1,0,1)和原点O的三角形面,顶点处的法向量为nA=(0,1,0),nB= (1,0,0) 和 nO=(0,0,1),分别。入射光为白色,方向为 L=(1,2,2),强度为 1,背景环境光强度为 0.1,(red,green,blue) 的漫反射系数为 (0.6, 0.7,0.8)。不需要考虑镜面光的贡献。

a) 在面部中心使用平面阴影找到面部的(红、绿、蓝)强度值。

谢谢

0 投票
0 回答
396 浏览

c++ - 网格面上的 libIGL 奇怪的阴影

我正在使用 libIGL 生成一个 tet 网格,并想用颜色可视化这个网格。每个顶点都有不同的值(使用 Graph Laplacian 最小化二次能量的结果),这些值已使用igl::jet. 我想以不同的 z 值对我的 tet-mesh 进行“切片”,并按照示例 605进行操作。

当这被可视化时,颜色是正确的,但是阴影是错误的(如下图所示)。有没有(简单的)方法来修复阴影?我试过同时使用bfs_orientembree::reorient_faces_raycast无济于事。

带有奇怪阴影的tetmesh着色

要重现该问题,只需将示例 605 的第 52-54 行变为:

编辑:我可以通过添加关闭照明

生成的图像是: 约会关闭的图像 但是,这没有任何照明,我不禁觉得有更好的方法可以保留照明。也许是暴露了 OpenGL_Shader 的东西?

0 投票
3 回答
587 浏览

opengl - 重新创建 Blender 的边缘分割算法

我现在正在做一个 OpenGL 项目。我使用每个顶点法线进行照明计算,这会导致它们自动平滑(我认为这称为gara-something shading)。这开始使用硬编码模型进行一些低多边形设计 - 但由于自动平滑,它们看起来很奇怪。

Blender 有一个网格边缘分割选项,它完全符合我的要求。它变成模型

由此

对此

不必重写我的渲染系统以允许每个顶点法线平滑照明和每个面法线硬照明,我想知道是否有人知道 Blender 的边缘分割算法是如何工作的,以便我可以在我的硬编码模型中重新创建它。

使用 Blender,我将正常导出的 .obj 与边缘分割的对应项进行了比较,但我无法完全理解其中的区别。

非常感谢。