Questions tagged «graphics»

一个非常通用的术语,指游戏的视觉部分。尽量避免无关的用法,如果可能的话,请为您正在使用的特定图形类型(2D,3D),API,框架或库添加标签。


5
跨平台底层图形API
创建系统抽象时,最好在有意义的最低级别上用通用接口隐藏平台不同的API。 考虑到不同的现代(无固定功能管道)本地图形API:OpenGLES 2.0 +,OpengGL 3.0 +,DirectX 10.0 +,Xbox DirectX 9,LibGCM 如果要创建一个无状态的低级图形API放在所有这些之上,那么使它尽可能薄且尽可能快的最佳方法是什么?

1
以编程方式绘制球体的中间部分
我正在尝试创建一个球体的中间部分。基本上,要创建一个球体,将给出堆栈编号和切片编号,并且有两个变量phi(用于切片)和theta(用于堆栈)负责进度。并且该过程分为创建底盖,主体和顶盖(如下所示)。要达到中间一半(theta如下所示为中间50%),我们需要省略帽子,并以某种方式修改身体。我在玩堆栈号(1/4*stackNumbers to 3/4*stackNumbers),但没有给出想要的结果。 如何修改球体生成以达到中间一半(pi/4 <theta <pi*3/4)?我的总体问题是如何将球体分为上25%,中50%和下25%的3个不同部分? 以下是流行的以编程方式生成球体的代码: private void generateSphere(int stackNumber, int sliceNumber, boolean facingOut) { int capVertexNumber = 3 * sliceNumber; int bodyVertexNumber = 4 * sliceNumber * (stackNumber - 2); int vertexNumber = (2 * capVertexNumber) + bodyVertexNumber; int triangleNumber = (2 * capVertexNumber) + (6 * sliceNumber …

1
如何为保持像素保真度的转换2D精灵创建“复古”像素着色器?
下图显示了在背景上方通过点采样渲染的两个精灵: 左头骨没有应用旋转/缩放,因此每个像素都与背景完美匹配。 右头骨旋转/缩放,这将导致不再与轴对齐的较大像素。 我如何开发一个像素着色器,该着色器将在右侧以与场景其余部分相同大小的轴对齐像素来渲染转换后的精灵? 这可能与在“猴子岛”(Monkey Island)等旧游戏中如何实现精灵缩放有关,因为这是我试图实现的效果,但增加了旋转功能。 编辑 根据kaoD的建议,我试图通过后期处理解决该问题。最简单的方法是先渲染到一个单独的渲染目标(下采样以匹配所需的像素大小),然后在第二次渲染时将其放大。它确实满足了我上面的要求。 首先,我尝试这样做,Linear -> Point结果是这样的: 没有失真,但结果看起来很模糊,并且丢失了大多数高光颜色。在我看来,它打破了我需要的复古外观。 我第二次尝试Point -> Point,结果是这样的: 尽管存在失真,但我认为这可能足以满足我的需求,尽管它看起来比静止图像确实好看。 为了演示,这是该效果的视频,尽管YouTube过滤掉了其中的像素: http://youtu.be/hqokk58KFmI 但是,如果有人想出一个更好的采样解决方案,该解决方案可以保持清晰的外观,同时减少移动时的失真量,那么我将继续待几天。

3
将DX10 / 11用于2D游戏有什么优势吗?
我对DX10 / 11类硬件引入的功能集并不完全熟悉。我对熟悉的可编程图形管线中添加的新阶段(例如几何体着色器,计算着色器和新的细分阶段)非常熟悉。我看不出这些对2D游戏有什么影响。 是否有任何令人信服的理由将2D游戏切换到DX10 / 11(或OpenGL等价物),或者考虑到市场的很大份额仍然依靠较旧的技术(例如, 2012年2月Steam调查显示约有17%的用户仍在使用Windows XP)?
10 2d  graphics  directx 

3
最终幻想6,计时触发或Alundra等游戏的透视样式的名称是什么?
超级任天堂游戏的“自上而下”风格的实际术语是什么,例如《最终幻想6》,《时光触发》等。我正在寻找以下术语的等效词: “等距”-(“激进联盟”,“最终幻想战术”,“辐射”), “第一人称”-(半条命,厄运,地震), “鸟瞰”-(Grand Theft Auto) ?在这里插入术语?-(最终幻想6,计时扳机)

3
在哪里聘请平面设计师从事手机游戏?
我需要找到一个有才能为我的手机游戏创建一系列2D图形的人才。我的图形还不够令人印象深刻,但是游戏玩法却又稳定又有趣。 这是一个包含多个部分的问题: 我从哪里开始找人? 我应该为自定义图片和背景支付什么费用? 我应该使用哪种条款,以便在完成艺术品后获得专有的,免版税的所有权?

5
非图形设计师的图形[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 是否有资源供那些几乎没有图形设计才能,但仍然希望为自己的程序制作足够好的图形的程序员使用?我对2d和3d计算机生成的图形技术以及免费图形存储库都感兴趣。
10 graphics  3d  art 


6
使pygame的帧速率更快
通过对游戏进行性能分析,我发现我的爱好游戏的绝大部分执行时间都在blit和flip调用之间。目前,它仅以13fps的速度运行。我的显卡相当不错,所以我猜想pygame没有使用它。 有人知道我需要在pygame中设置任何图形/显示选项以使其更快吗?还是自选择pygame以来我必须忍受的东西?

2
在典型的C64游戏中,究竟是什么构成了屏幕?
我试图通过BASIC来了解C64游戏开发的基础知识,并且我可以针对一些非常基本但很重要的内容使用一些建议:屏幕上的所有内容实际上是什么,以及如何绘制? 看看Katakis / Denaris: 屏幕上至少有9种不同的东西: 得分栏,具有不同的字体 船本身 附属于船的卫星,可拆卸 次要武器弹丸 初级武器弹丸 移动物体(可以是敌舰) 状态栏,显示船舶图像,生命数量和可填充的三个区域 主武器充电条,可以填满 背景中的滚动星空 (在屏幕上未编号)作为背景一部分的坚硬物体,例如岩石或金属墙 C64每条水平扫描线仅支持8个Sprite,所以我认为屏幕中间的所有内容都不是Sprite吗?我以为任何需要碰撞的东西都将是一个精灵(因为我可以使用精灵进行硬件碰撞检测),但是即使那样我也很快达到了8个精灵的限制。而且,我的武器可以发射的弹子不止一个-我的飞船,卫星和6枚子弹已经是连续8个子弹了(看录像时约50秒)。 另外,像这样的游戏会使用哪种图形模式?《编程手册》列出了位图模式,它实际上直接修改了屏幕存储器。这是我通常应该使用的模式吗?我如何将所有非精灵元素组合在一起以使其出现在屏幕上? 分数和状态栏中的很多内容都是静态的(“ Area:01”或“ frame”),因此我猜我将在级别开始时将它们填充一次。需要更新的内容(得分,底部的充电条)是否会通过用黑色填充屏幕内存,然后在每一帧绘制新得分来进行更新? 还是我必须在每一帧上绘制整个屏幕?

1
图形编程可复制门内Chrono Trigger的过渡
我最近第一次开始玩这个游戏,这真的使我的兴趣达到顶峰 您可以看到运动的过渡从〜12:08开始 那里似乎发生了一些有趣的数学运算。似乎有两个不同的视图组合在一起。首先在背景中渲染蓝色波纹,然后在某种伪3D投影上渲染紫色振荡波。 然而,他们如何精确地达到这一结果超出了我的范围,好奇心使我变得更好。 我不希望很多人知道这是如何完成的,但是如果有人进行了广泛的图形编程,也许他们会启发我。

5
我如何像《炉石传说》那样创建动画卡片图形?
在《炉石传说》游戏中,上面有带有动画图像的卡片。一些例子: http://www.hearthhead.com/card=281/argent-commander http://www.hearthhead.com/card=469/blood-imp 动画似乎由多种效果组成: 粒子系统。 精灵渐入渐出/旋转/旋转 简单的滚动纹理 变形效果,在示例1的斗篷和头发中非常明显。 旋转的烟雾效果,示例1中的灯光和示例2中的绿色/紫色发光。 前三个元素很简单,我想知道后两个元素是如何完成的。甚至可以在游戏中实时完成,还是可以预先渲染动画?
9 graphics 

1
如何异步加载图形资源?
让我们考虑与平台无关的问题:我想在游戏其余部分运行时加载一些图形资源。 原则上,我可以将实际文件加载到单独的线程上,也可以使用异步I / O。但是对于图形对象,我将不得不将它们上传到GPU,并且(通常)只能在主线程上完成。 我可以将游戏循环更改为如下所示: while true do update() for each pending resource do load resource to gpu end draw() end 同时有单独的线程将资源从磁盘加载到RAM。 但是,如果有很多大资源要加载,这可能会导致我错过帧截止日期并最终丢失帧。所以我可以将循环更改为此: while true do update() if there are pending resources then load one resource to gpu remove that resource from the pending list end draw() end 每帧仅有效加载一个资源。但是,如果要加载许多小资源,则加载所有小资源将花费许多帧,并且将浪费大量时间。 理想情况下,我想按以下方式安排加载时间: …

5
精灵渲染速度模糊
在为游戏增加速度之后,我感觉我的纹理在抽搐。我以为只是我的眼睛,直到最终在屏幕截图中捕获了它: 左边的是我的游戏中呈现的内容;右边的是粘贴的原始精灵。(这是Photoshop的屏幕截图,放大了6倍。) 请注意,边缘是混叠的-看起来几乎像是亚像素渲染。实际上,如果我没有强迫我的精灵(位置和速度为整数)使用整数值进行绘制,我会发誓MonoGame使用浮点值进行绘制。但事实并非如此。 这些事情看起来模糊的原因可能是什么?没有施加速度就不会发生这种情况。 确切地说,我的SpriteComponent班级有一个Vector2 Position领域。当我致电时Draw,我实际上是使用new Vector2((int)Math.Round(this.Position.X), (int)Math.Round(this.Position.Y))该职位。 我之前有个bug,即使静止的物体也会抖动-这是由于我使用了直线Position向量,而不是将值四舍五入到ints。如果我使用Floor/ Ceiling而不是圆形,则精灵会下沉/悬停(两种方式各有一个像素差异),但仍会模糊。

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.