问题标签 [graphics]

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 投票
2 回答
961 浏览

c++ - c ++具有多个图形选项

目前,我的应用程序仅使用 Direct3D9 进行图形处理,但将来我计划将其扩展到 D3D10 和可能的 OpenGL。问题是我怎样才能以整洁的方式做到这一点?

目前我的代码中有各种Render方法

然后传递的函数取决于确切的状态,例如 MainMenu->Render、Loading->Render 等。这些将经常调用其​​他对象的方法。

以及从 entity::Base 派生的示例类

然后,每种方法都会根据更详细的设置(例如是否支持像素着色器)来处理如何最好地渲染。

问题是我真的不确定如何扩展它以能够使用其中一种可能有所不同的(D3D v OpenGL)渲染模式......

0 投票
10 回答
11735 浏览

c++ - 如何在 C++ 中处理非常大的二维数组

我需要创建一个大小为 800x800 的 2D int 数组。但是这样做会造成堆栈溢出(哈哈)。

我是 C++ 新手,所以我应该做类似向量向量的事情吗?只是将二维数组封装到一个类中?

具体来说,这个数组是我在图形程序中的 zbuffer。我需要为屏幕上的每个像素存储 az 值(因此是 800x800 的大尺寸)。

谢谢!

0 投票
2 回答
723 浏览

windows - 带渐变的折线

有没有办法沿着弯曲路径绘制一条线,其梯度在垂直于线方向的方向上变化?我正在为我的图形使用 GDI+ 框架。

0 投票
3 回答
511 浏览

graphics - 同时支持 DirectX 9 和 10 的应用程序

对于任何图形程序员,我都有一个愚蠢的问题。

我很困惑某些游戏(如孤岛危机)如何同时支持 DirectX 9(在 XP 中)和 10(在 Vista 中)?

到目前为止我的理解是,如果你写一个 DX10 应用程序,那么它只能在 Vista 中运行。

也许他们有 2 个代码库——一个用 DX9 编写,另一个用 DX10 编写?但这不是矫枉过正吗?

0 投票
5 回答
8473 浏览

graphics - 用于图形应用程序的快速、像素精度的 2D 绘图 API?

我想创建一个跨平台的绘图程序。编写我的应用程序的一个要求是我在画布上具有像素级精度。例如,我想编写自己的画线算法,而不是依赖别人。我不想要任何形式的抗锯齿(同样,需要像素级控制。)我希望屏幕上的用户交互快速且响应迅速(取决于我编写快速算法的能力。)

理想情况下,我想用 Python 或 Java 作为第二选择来编写它。必须能够轻松地使最终的应用程序跨平台。如有必要,我将提交给不同操作系统上的不同 API,只要我可以围绕它们编写一个抽象层。有任何想法吗?

附录:我需要在屏幕上绘图的能力。绘制到我已经弄清楚的文件。

0 投票
30 回答
26240 浏览

c++ - 用于实时图形编程的 C++ 的最佳替代方案是什么?

C++ 让我对自己的内存进行微观管理,让我输入太多(你好std::vector<Thingy>::const_iterator it = lotsOfThingys.begin()),并让我长时间编译感到厌烦,这让我浪费了太多时间。对于严肃的实时图形编程来说,最好的选择是什么?垃圾收集是必须的(必要时避免使用它的能力也是如此),而且速度必须与 C++ 相媲美。访问 C 库的合理故事也是必须的。

(完全披露:我对此有自己的答案,但我很想看看其他人发现什么可以替代 C++ 用于实时图形工作。)

编辑:感谢大家的周到答复。鉴于这个问题确实没有“正确”的答案,我不会选择任何特定的答案。此外,我只是选择我碰巧喜欢的语言作为 C++ 的替代品,这并不公平。

0 投票
7 回答
2933 浏览

c++ - 使用并行处理在 C++ 中制作游戏

我想在 C++ 中“模拟”流行的 Flash 游戏 Chrontron,需要一些帮助才能开始。(注:不是为了释放,只是为自己练习)

所以,这解释了游戏是如何运作的。你应该玩一点才能真正理解我的问题是什么。

我在想一个解决这个问题的好方法是使用链表来存储每个状态,这可能是基于时间的哈希映射,或者是基于时间迭代的链表。我仍然不确定。

实际问题:

现在我有了一些粗略的规范,我需要一些帮助来决定使用哪些数据结构,以及为什么。另外,我想知道我应该使用什么图形 API/图层来执行此操作:SDL、OpenGL 或 DirectX(我目前的选择是 SDL)。我将如何实现并行状态?使用并行线程?

编辑(澄清更多):
操作系统——Windows(因为这是一个爱好项目,以后可能会在 Linux 中这样做)
图形——2D 语言——C++(必须是 C++——这是下学期课程的练习)

Q-Answered: SDL : OpenGL : Direct X
Q-Answered: Avoid Parallel Processing
Q-Answered: 使用 STL 实现时间步操作。

附加到这个问题,我以前主要使用过 C#、PHP 和 Java,所以我不会将自己描述为一个能手的程序员。哪些 C++ 特定知识可以帮助我更轻松地完成这个项目?(即向量?)

0 投票
6 回答
15934 浏览

graphics - 脏矩形

在哪里可以找到关于实现一种计算“脏矩形”以最小化帧缓冲区更新的算法的参考资料?允许任意编辑并计算更新显示所需的最小“位 blit”操作集的显示模型。

0 投票
3 回答
11700 浏览

math - 一个好的 3D 网格库

我正在寻找一个好的 3D Mesh 库

  • 应该能够阅读流行的格式(OFF,OBJ ...)
  • 应该同时支持半边结构和三角汤
  • 应该容忍故障和非法网格。
  • 基本几何运算 - 交点、法线计算等
  • 最重要的是 - 不应该与无尽的模板和继承层次结构复杂化。

我已经尝试过 CGAL 和 OpenMesh,但在最后一点都失败了。

特别是 CGAL,即使使用最先进的代码分析工具也无法遵循。

到目前为止,我正在认真考虑自己动手。

我的偏好是 C++,但我对其他选项持开放态度。

0 投票
3 回答
1822 浏览

graphics - 体积粒子

我正在玩弄体积粒子的想法。我所说的“体积”并不是指每个粒子的实际 3D 模型——通常它更昂贵且更难与其他粒子混合。我的意思是看起来尽可能接近体积的二维粒子。现在我/我们尝试的是带有额外局部 Z 纹理(例如球形)的粒子,我们根据 alpha 值和 Z 的接近度的组合来进行 alpha 透明度,这通过粒子不有一个平面 Z。我认为一个很酷的添加是与照明(以及阴影)的交互,但这里的问题是照明公式看起来如何(考虑到透明度,让'

我也想添加法线,所以我实际上可以挤入两个纹理:

  • 漫反射和 Alpha 纹理。
  • 正常和 256 级精度 Z 通道纹理。

我问这个问题是为了看看可以考虑哪些其他方向,并就可能使用的适当照明方程获得您的想法。