Questions tagged «pipeline»

12
从真字体创建位图字体的工具
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 6年前关闭。 您使用什么工具将ttf字体转换为位图字体? 以下是我要寻找的功能列表。我真的会对任何工具感到满意,但是拥有这些功能的工具会更好。 输出2次幂纹理图集 可解析的配置文件(因此我不必使用其渲染库) 输出字距调整信息 跨平台 如果允许我进行实际的OpenGL调用,则渲染库将非常有用。 那么,您使用了什么工具?您满意吗?
26 tools  fonts  pipeline 

3
如何使用图形管线基于密度函数渲染体积数据?
两种图形API(OpenGL和DirectX)都设计了明确定义的管道,其中几个阶段都可以编程。这些可编程阶段需要获取固定的最小数据量,并应在其上进行明确定义的操作范围,并输出一些已定义的最小输出,以便可以将数据正确地传递到下一个阶段。似乎这些流水线被设计为仅使用有限数量的几何数据类型,对于D3D和OGL而言,它们都是顶点数据和纹理坐标。 但是,如果我打算制作的应用程序在某种情况下不使用顶点(甚至是体素)来表示其几何数据,并且不完全进行变换或投影,栅格化或插值等操作,则API的局限性否则管道会使事情变得困难。 那么,是否有一种方法可以改变图形管道,从而使每个阶段对数据执行的功能以及每个阶段输出的数据类型都对我有利?如果没有,那么有没有办法我可以使用“原始” API函数来构建自己的管道?如果没有,请说明为什么不可能。 编辑:我的应用程序使用密度函数来表示几何。该函数在空间的每个点都有一个值。我将相机的视锥台分为3d网格,每个块可以投影为一个像素。在每个块上,我集成密度函数,并检查其值是否大于要求的值。如果是,则假定该块中存在某些东西,并且渲染与该块相对应的像素。因此,现在在渲染器中,我希望将函数(用字符串表示)传递给图形硬件,而不是传递顶点缓冲区中的顶点数据。这也意味着顶点着色器将没有顶点可以转换为同质的剪贴空间,并且片段着色器不会获取像素信息。取而代之的是,现在大多数查找和评估都针对每个像素进行。

2
在4D同构空间中进行裁剪时,GPU实际做什么的详细信息?
我正在通过实现一个微型软件渲染器来学习可编程渲染管道。我尝试以“硬件”样式实现它。但是,我对GPU管道不熟悉,并遇到了一些均质裁剪的问题。 均匀剪裁空间包含一个w变量,该变量在每个顶点处都不同。每个顶点对象在其自己的裁剪空间中是否是同质坐标(在投影矩阵和均质除以w之间)?如果是这样,如何截断比平截头体更近或什至在相机后方延伸的线和三角形(即w <= frustum_znear)? 更新:该线程说,齐次空间中的裁剪直接是4D齐次空间中的交集问题。表示交点为p_vec4 = t * point1_vec4 + (1 - t) * point2_vec4。假设我在4D同构空间中有P0(-70, -70, 118, 120)和P1(-32, -99, -13, -11),且与交点plane w = -z(在NDC中为z = -1)为(-35, -96, -1, 0.9) t = 0.99,如何在NDC空间中获得相应的顶点对象? 一旦获得正确的交点,是否应该在顶点着色器产生的顶点对象之间进行插值以获取新的顶点对象?

1
引擎渲染管道:使着色器通用
我正在尝试使用OpenGL ES 2.0(目前为iOS)制作2D游戏引擎。我已经在Objective C中编写了Application层,并在C ++中编写了一个独立的RendererGLES20。在渲染器外部不会进行GL特定的调用。运行良好。 但是在使用着色器时,我有一些设计问题。每个着色器都有自己的唯一属性和统一体,需要在主绘制调用之前进行设置(在本例中为glDrawArrays)。例如,为了绘制一些几何图形,我要做: void RendererGLES20::render(Model * model) { // Set a bunch of uniforms glUniformMatrix4fv(.......); // Enable specific attributes, can be many glEnableVertexAttribArray(......); // Set a bunch of vertex attribute pointers: glVertexAttribPointer(positionSlot, 2, GL_FLOAT, GL_FALSE, stride, m->pCoords); // Now actually Draw the geometry glDrawArrays(GL_TRIANGLES, 0, m->vertexCount); // …

2
内容管道工具是否应该嵌入引擎中?
游戏引擎应该有多低?引擎中应嵌入多少内容管道? 超级引擎可能有用的一些用例: 加载用户内容时,不需要用户打包其纹理,引擎将在加载时执行此操作。 脚本请求的字体大小要比预先生成的字体大得多,引擎可以解析ttf文件广告以构建新的纹理图集。 晕锻。 当然,这些都不是免费的。这需要您的内容管道工具使用C ++编写。您需要对管道中使用的支持库进行编译以在设备上使用。它要求内容生成必须没有错误。而且通常会使您的引擎更大且笨拙。 还有哪些其他优点和缺点? 优点胜过缺点吗? 一些具体问题: 引擎应该能够加载各种图像格式吗?仅TGA加载程序非常容易编写代码。 音频格式呢?仅支持加载wav文件是否可行?周围的音乐文件通常很大。 引擎是否应具有动态TTF解析和图集生成的能力? 纹理包装。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.