问题标签 [stage3d]
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.
actionscript-3 - 使用 Away3d 制作实体线框材料的最佳方法是什么?
在 Away3d 中找不到任何实心线框材料的好例子。也许我使用了错误的工具?
actionscript-3 - AS3 Stage3D:如何使用整体 alpha 渲染所有三角形?
我正在开发一个 2D AS3 项目,其中不同的图层通过 Stage3D 在单个 drawTriangles() 调用中呈现为单个网格。(如果你熟悉 BunnyMark GPUSprite 迷你渲染引擎,那会给你一个想法:http ://www.bytearray.org/?p=4074 )
我想要的是绘制这些完整的“渲染层”之一,具有一个整体的 alpha 透明度值,这将适用于所有绘制的三角形,并添加到它们自己的 alpha 值。
IE 我不希望通过使用具有 alpha 透明度的纹理或必须通过单独设置每个三角形以具有相同的 alpha 来更改 alpha:我想要一个会影响绘制的所有内容的 alpha 值的主开关?(计算上便宜的东西)
这可能吗?也许通过着色器或 setProgramConstantsFromVector 命令?
actionscript-3 - AS3 Stage3D 片段着色器?
有人能告诉我这两个片段着色器有什么区别吗:
只有第二行不同,我们将它与 alpha 相乘。因此,第二个着色器(Node2D)允许您通过setProgramConstantsFromVector(Context3DProgramType.FRAGMENT, 0, [1,1,1,1]);传入主 alpha 值。调用,这将导致使用该 alpha 绘制所有三角形。
1)有人可以告诉我第二行发生了什么吗?
2)以上在实践中所做的是,它覆盖了每个三角形的各个 alpha 设置。我想要的是将它自己的 alpha 与着色器相乘,这样最终的 alpha 值将是 = Triangle_alpha * Shader_alpha。
(因为现在我无法使用第二个着色器为特定三角形设置单独的 alpha 值。我想要的是能够分别为每个三角形设置一个 alpha 值,并为整个 drawTriangles 调用设置另一个)
flash - stage3d中顶点着色器中的纹理访问?
是否可以在 stage3d 和 flash 11.4/air 3.4 的顶点着色器中执行纹理访问?
如果不可能,是否有另一种方法可以实现从帧到帧的高效“有状态内存”,同时在 stage3d 的 GPU 上保持 100%?
谢谢
actionscript - 使用 Stage3D/AGAL 的简单平面着色
我对 3D 开发比较陌生,目前正在使用 Actionscript、Stage3D 和 AGAL 来学习。我正在尝试创建一个带有平面阴影的简单程序网格的场景。但是,我一直坚持到底应该如何将表面法线传递给着色器以进行照明。我真的很想为每个三角形使用一个单一的表面法线,并为每个三角形做平面,甚至着色。我知道通过每个顶点的法线来实现更好看的照明很容易,但这是我所追求的外观。
由于着色器通常处理每个顶点,而不是每个三角形,我是否可以只为每个三角形传递一个法线,而不是每个顶点一个法线?我的想法完全在这里吗?如果有人有一个简单的平面阴影的工作示例,我将不胜感激。
flash - 选择基于 Stage3D 的 2D 框架
我想使用 Stage3D 来加速我的 2D 图形渲染(并且可能添加一两个着色器)。
我现在使用 Flixel;除了不使用 Stage3D 之外,Flixel 提供了几乎所有我想要的游戏框架。所以,我不一定需要一个成熟的游戏框架:我只需要这个框架为我做渲染部分。
我找到了一些潜在的候选者(ND2D、Starling、Genome2D 等),但没有使用它们的经验,我想我可以先在这里问一下。我正在寻找的是:
- 完全开源(我经常修改或至少查看我所包含的代码)并可在商业项目中免费使用
- 绘制图元的能力;在这里,我希望“能力”最好是 draw_line(int, int, int, ...) :D
- 无需直接访问 Stage3D 即可处理 AGAL 着色器(更简单 = 更好,例如我喜欢 ND2D 的处理方式)
如果我要求太多,你能给我一些关于 ND2D 和 Starling 的快速利弊吗?关于这个主题的在线讨论似乎已经过时并且太笼统而没有用处。我正在考虑使用 ND2D,因为我已经玩过一段时间了,而 Starling 因为它似乎更受欢迎。社区规模是一个因素,因为我可能会寻找教程和示例。
谢谢!
actionscript-3 - Stage3D 错误 #3694:该对象已通过较早的 dispose() 调用对其进行处置
使用 Flare3D,当播放器(在 flash 中编译时)调整大小时,或者当我在浏览器页面中运行它然后锁定 wy(windows)机器并再次解锁时,我遇到了错误 #3694。
错误是:“该对象已通过较早的 dispose() 调用对其进行处理。”
我做了一些搜索,发现了一些建议来检查 context3D.driverInfo 并在该字符串等于“Disposed”时跳过渲染,但这似乎不起作用。在我的情况下,该字符串是“软件(嵌入式)”(在 Flash ide 中运行时)或在独立播放器中运行时的“DirectX9(直接 blitting)”。
有谁知道错误是什么以及如何避免它?
apache-flex - Flex 项目中的 AIR Stage3D
我有一个 Flex 4.5 AIR 项目,我想创建一个使用 stage3D 的组件。我可以设法让三角形示例在 Flash 播放器的 Actionscript 项目中工作,但我也无法让它与干净的 Flex 项目一起工作。它进入渲染循环,但不可见:
主要的mxml:
triangle.as: 包 { 导入 com.adobe.utils.AGALMiniAssembler;
有任何想法吗?没有错误,它跟踪 onRender,所以它只是不可见..:S
actionscript-3 - Flash Stage3D:渲染/更新程序纹理?
我需要经常更新 3D 对象的纹理。(它是程序生成的模式,所以不能缓存,必须每帧动态生成)
最快的方法是什么?
首先我想通过 copyPixels() 更新 bitmapData,然后通过 Texture.uploadFromBitmapData() 每帧重新上传这个 bitmapdata,但我听说这非常慢(由于将数据从系统 RAM 移动到 GPU RAM)
任何直接在 GPU 上操作纹理的方法,所以我可以避免这一步?
actionscript-3 - Starling 框架 - 仅适用于游戏?
将在 AS3 中构建这些类型的应用程序,针对使用多点触控的信息亭。
我了解 Starling 的存在理由是在针对 GPU 时提供抽象层。
我的第一个问题是,将 GPU 用于此类应用程序有什么优势吗?
如果是这样,Starling 框架会是一个不错的选择吗?还是真的只对游戏有用?