本文介绍了对于游戏开发图形API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗯,我已经研究了很多,并得出一个基本结论上的API:因为它似乎在API选择学习不那么重要,只要你能真正了解3D编程,或者看起来是这样

我的背景/正在研究领域:我有一个排序的编程,算法和面向对象的设计,扎实的背景。

我已经做了一些2D游戏:使用XNA(C#)和快板5(C ++),我甚至写了一种小框架的一些2D游戏,我不得不做的一门课程(用快板)加快我的游戏制作过程,让我相当熟悉的游戏逻辑和游戏循环结构的基本概念。

我已经使用XNA做了很少的实验,3D,刚拿到的基本思想实际。

我对线性代数和微积分基本的,但扎实的知识。

我目前正在研究人工智能,机器学习(更具体的,如果有人想知道:规则提取使用马氏逻辑的读取系统的关系型数据库),做一些这方面的研究,现在

嗯,我喜欢游戏,有很多的乐趣与游戏编程特别是AI和游戏逻辑。

我想移动到3D游戏发展到现在,即使我真的不想要的工作太多了图形编程之类的东西,我希望能有知识(好吧,我想知道这是怎么回事及如何利用这一点:如果我想要写一些好的AI的3D环境,我需要有一个如何处理是个好主意)

我刚开始(今天)看完例子和Direct3D从我读过的文档(9和11)如果我要学习的DirectX我应该去为11,如果低硬件兼容性和XP用户AREN'牛逼我的目标。

我想你对我是否应该使用DirectX或类似SDL / OpenGL的意见/ OpenAL的我并不反对没有我只是想知道这将是人谁愿意关注一些新的AI游戏更好,游戏逻辑。我将使用C ++ / Python中的游戏,一些C#/ XML的一些工具和等。嗯,我基本上将要开发的东西,在/在Windows环境(并不反对Linux或东西 - 我使用Linux的我的一些人工智能研究一些我使用的软件的)

嗯,我希望我做了我的问题清楚,在此先感谢任何人愿意提供帮助。

解决方案

正如这里和通过@leppie,OpenGL是跨平台的,所以你必须要学会使用的一个的框架,它今天将适用于大多数的平台。

虽然我从来没有真正曾与OpenGL的,从什么经验,我有开源项目是好的文档是很难得的,虽然你很可能会发现大量的例子在线。所以,你的也许的有一些很难找到好的文档(再次,基于我自己的previous开源项目我已经使用)。

在另一方面,DirectX是一些东西,运行在Windows环境。这也似乎是首选许多游戏开发工具,这似乎是你所追求的。使用的DirectX也将让您充分利用Visual Studio的(这在我看来是一个非常,如果不是最,强大的IDE我曾经使用过)如图所示的。

所有的一切,虽然,你所要求一直是争论已经持续了多年(什么的和的只是仅举几例)。

编辑:

就像在编程的世界里,有一定的平台,如果你尝试做的事情给出的清单给你的优势。不同的列表需要不同的平台/框架,等我从来没有真正搞砸围绕这些技术,但是,我认为微软有时候往往使的使用他们的产品比那些使用开源产品稍微容易开发者的生活。

你可以做的是尽量通过一些code,或试图拿出你自己的,用两个框架做同样的事情,然后,选择更容易的。

Well, I've researched a lot and have come to a basic conclusion on APIs: as it seems the API choice for learning doesn't matter that much, as long as you can really learn 3D programming, or so it seems.

My background/current fields of study:I have a sort of solid background on programming, algorithms and object oriented designs.

I have made a few 2D games: using XNA(C#) and allegro 5(C++), I even wrote a sort of small framework for a few 2D games I had to make for a course (using allegro) to speed up my game making process, so I am quite familiar with the basic concepts of game logic and game loop structure.

I have made a very few experiments with 3D using XNA, just got the basic idea actually.

I have a basic, but solid, knowledge on Linear Algebra and Calculus.

I am currently studying Artificial Intelligence, Machine Learning (to be more specific, in case anyone wants to know: rules extraction for relational databases using Markov Logic for a reading system), doing some research in this field right now.

Well, I love games and have a lot of fun with game programming especially AI and game logic.

I want to move to 3D game development now, and even though I don't really want to work too much on the graphics programming and stuff, I want to have the knowledge (well, I'd like to know what's going on and how to take advantage of that: if I want to write some good AI for 3D environments I need to have a good idea of how to deal with it).

I just started (today) reading the examples and documentation of Direct3D (9 and 11) from what I've read if I'm going to learn DirectX I should go for 11 if low-hardware compatibility and XP users aren't my goals.

I'd like your opinion on whether I should use DirectX or something like SDL/OpenGL/OpenAL I have nothing against none I just want to know which would be better for someone who wants to focus on some new AI for games and game logic. I will be using C++/Python for the games, some C#/XML for some tools and such. Well I'm basically going to be developing stuff in/for a windows environment (nothing against linux or something - I use linux for some of my AI research for some of the software I use).

Well I hope I made my question clear, and thanks in advance to anyone willing to help.

解决方案

As stated here and by @leppie, OpenGL is cross platform, so you will have to learn to use one framework which will work on most platforms today.

Although I have never really worked with OpenGL, from what experience I have with open source projects is that good documentation is hard to come by, although you will most likely find a ton of examples online. So you might have some hard time finding good documentation (again, basing my self on previous open source projects I have used).

On the other hand, DirectX is something which runs in a Windows environment. It also seems to be the tool of choice for many game developers which seems to be what you are after. Using DirectX will also allow you to exploit Visual Studio (which in my opinion is a very, if not the most, powerful IDE I have ever used) as shown here.

All in all though, what you are asking has been a debate which has been going for years (here and here just to name a few).

EDIT:

Like most things in the programming world, a certain platform will give you an edge if you try to do a list of given things. Different lists require different platforms/frameworks, etc. I have never really messed around with these technologies, but, I think that Microsoft sometimes tends to make the life of developers using their products slightly easier than those using open source products.

What you could do is to try and go through some code, or try to come up with your own, to do the same thing using the two frameworks and then, choose the easier one.

这篇关于对于游戏开发图形API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 14:00