问题标签 [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 回答
63 浏览

r - 仅对正态曲线下的部分顶部区域进行着色

我试图在正常曲线下的一个区域中着色,比如在一个标准偏差之间,但不是一直到 x 轴。我需要将其切断以使曲线下方的顶部只有阴影。在下面的代码中,我想在法线曲线下遮蔽区域,但仅在两条虚线之间。任何人都可以帮忙吗?我见过很多例子,其中部分区域的阴影一直向下延伸到 x 轴。但是,我需要一些方法来阻止用户定义的曲线下区域的下部被着色。

0 投票
1 回答
69 浏览

sql-server - SQL Server Reporting Services 中的备用底纹和隐藏单元格出现问题

我更改最终报告格式的主要方法是在 SQL Server Report Builder 中。

我在这个系统中有一个表格,目前如下所示,其中一些信息被涂黑了。

当前着色

如当前所示,分组(称为子样本)的第二行(如 004A 所示)在第二、第三和第五列中出现了隐藏单元格的空白区域。

此着色已使用以下代码完成:

有没有办法解决这个问题,而不必在报表生成器之外进行编码或使字段不再隐藏?

任何帮助都会很棒。

0 投票
2 回答
271 浏览

c++ - 在渲染填充表面时更好地在 BW 显示器上进行着色

序幕

我终于解决了 AT32UC3xxxxx 和 SSD1306 OLED I2C 显示器之间的硬件不兼容问题(两者都有导致它们不兼容的硬件错误)允许我以 400KBaud(每帧约 26.6 毫秒)使用硬件 I2C。所以我决定为这个 LCD 重写我的旧驱动程序,以通过添加填充表面(三角形、四边形)而不只是线条和图案线条(我已经实现)来利用新的速度。

问题是显示器是 128x64 像素,但没有颜色或灰色阴影,只是 BW 开/关

因此,为了例如渲染旋转立方体,我需要以某种方式区分表面。我正在考虑随机填充模式,其中表面填充到某个百分比而不是颜色。

这是我当前的代码(整个库,但没有错误,它应该正常工作):

LCD_SSD1306_I2C.h

它是为 AVR32 studio 2.7 编写的,因此在没有 U8/U16/U32 的平台上使用 unsigned int 而不是相同(或更大)的位宽。

代码没有经过优化,并且是故意以它的方式编写的(不是为了速度,我也在我的讲座中使用它,这样学生就可以掌握我在做什么)

现在,当我使用这种技术使用 2D 填充四边形渲染旋转立方体(在 PC 上的 win32 VCL 测试应用程序上)时:

只需忽略 VCL 的东西。该应用程序具有定期重绘屏幕的单个计时器。lcd需要先初始化。lcd 使用I2C_send功能通过 I2C 进行通信,因此您必须实现它才能与真正的 LCD 一起使用,如果您只是将屏幕复制到图像或视图(仿真)中,那么像我一样的空功能就足够了。打印文本也是如此,它需要这种字体(它不适合这里),所以我使用了空字体(因为该示例无论如何都不会打印任何东西)。

我得到了这个输出(使用随机着色填充和基本法线着色):

预习

正如你所看到的,由于分辨率低,立方体几乎无法区分,我希望有更好的东西。

所以最后我的问题:

如何在视觉上改善这种阴影

我正在考虑某种类似于 Freescape 引擎输出的孵化或预定义模式,如下所示:

预定义模式

您对如何进行这种 2D 凸多边形填充有任何想法或指示吗?

限制是低分辨率 128x64 1bpp 图像,内存使用率低,因为目标 AVR32 UC3 平台只有 (16+32+32) KB 的 RAM,如果有人想使用 AVR8 芯片,那么只有 2 KB(你知道 Arduino 使用那些) .

速度不是主要问题,因为目标平台有 ~91 MIPS。

我对 BW 着色不是很熟练(在过去我主要使用线框进行 BW 输出),所以即使是来自有经验的用户的提示,例如:

  • 有多少种色调16/32/256
  • 多大的图案4x4/8x8/16x16
  • 如何生成模式(硬编码或一些算法)
  • 如何处理多边形运动以避免噪音/闪烁(现在我在每个多边形上重置种子)

可能对我有很大帮助。

这是用于测试的示例输入图像:

样本输入

0 投票
1 回答
131 浏览

function - PDF 着色类型 1(基于函数)和 FunctionType 4(PostScriptt 计算器函数)的简单示例

我正在尝试使用带有 FunctionType 4(Postscript 计算器)的 Type 1(基于函数)底纹为 PDF 底纹编写自定义函数。这是我尝试的基础:

我认为这应该使正方形 200x200 灰色。但结果是什么 - 画布保持空白(在 Adob​​e PDF 阅读器中尝试过)。

谁能告诉我我做错了什么?

或者 - 有人可以提供这种 PDF 的示例 - 具有自定义着色功能吗?我需要一些东西来开始。(稍后我想使用该功能为我的 SWF 到 PDF 转换器实现具有重复模式的径向着色)

我没有在 Internet 上找到任何使用 Shading Type 1 的相关 PDF 示例。

0 投票
1 回答
426 浏览

unity3d - 材质上的纹理作为空材质导入 Unity3D

我目前正在使用 Blender3D 和 Unity3D 做一个项目作为爱好。我在 Blender 中构建了一个对象,该对象具有 2 个具有霓虹灯效果的材质和纹理(特别是带有 Emission Shader),但是一旦我在 Unity 中导入该对象,我就完全失去了纹理并且对象变成空白。Blender 中 Principled BSDF 着色中的简单纹理不会发生这种情况。发射纹理为什么没有导入,我该如何解决这个问题?谢谢。

0 投票
0 回答
24 浏览

textures - 着色模式下的蒙版纹理

文本

我在网格的某些部分制作带有闪亮金色纹理的 .glb 模型,我设法做了一半,但其余部分是黑色的,我如何在节点中使用 alpha 蒙版?(附加到 Alpha 节点的第二个纹理,在渲染中看到效果),它也可以用这种着色导出吗?

0 投票
0 回答
46 浏览

webgl - 如何为 webgl 模型实现 gouraud 着色

这是我用来加载茶壶模型的代码:

这是我加载茶壶后使用的功能:

这是我用来初始化着色器的函数:

我想对这个茶壶模型应用 gouraud 阴影。你能帮我么。

0 投票
0 回答
52 浏览

python - python图中的3d效果

我想知道我怎么能做一个像下面这样的情节?基本上我有一个或多个轴对称对象(比如在 z 和 r 坐标中),而不是仅仅绘制为 2d 曲线,我想通过某种 3d 效果使它看起来更好。在 python 中,mpl_toolkits.mplot3d 中的 axes3D 似乎可以工作,但我不知道是否有任何技巧可以使阴影、纵横比等更好。

此处的示例图对对象具有漂亮的 3d 效果:

在此处输入图像描述

0 投票
0 回答
64 浏览

javafx - JavaFX 中的 Gouraud 着色

每个面有 3 种颜色(每个顶点一种)。我想使用 Gouraud 着色来混合这些颜色。到目前为止,我从FXyz 库中获得了一些灵感。

我目前的方法使用setTextureModeVertices3DFXyz 库中的。但这使用密度图,这在我的情况下不起作用,因为颜色不是来自数学公式。我最初的想法是按如下方式实现它:

  1. 计算网格中每个顶点的颜色。
  2. 提取所有独特颜色的列表
  3. 制作独特颜色的调色板
  1. 以点值 (x,y,z) 为键并以颜色索引为值制作地图
  2. 制作一个从上述地图返回颜色索引的密度函数。

我有一种感觉,我唯一的选择是创建一个大图像,在其中放入所有阴影三角形,然后引用它们。但我不确定这里最好的技术是什么。任何帮助表示赞赏!

编辑:

这是我目前使用的代码(这是用 Kotlin 编写的):

  • 这就是我当前的阴影实现的样子。我目前的实现是如何使用阴影的
  • 这就是我当前的实现在没有阴影的情况下的样子。我目前的实现如何没有阴影
  • 这就是我希望我的阴影实现大致看起来像的样子我希望我的阴影实现大致看起来如何
  • 这就是我的调色板的样子(9x10 像素)(在此处输入图像描述
0 投票
0 回答
21 浏览

excel - 根据文件重命名更改单元格

第一个问题在这里。我正在学习 VBA 并尝试将其用于实际工作。

我有大量的 zip 文件,每个 zip 文件中都有一个需要提取和重命名的特定文件。我使用 Excel 列出这些文件并自动为我重命名它们。但是,文件或 zip 通常并不总是存在。

如何让 Excel (VBA) 更改无法成功重命名文件的单元格的颜色?

这是我当前的代码: