PDA

View Full Version : OpenGL & Xbox



aphex
03-12-2002, 05:40 AM
Ok, quick and easy... is OpenGL supported on an XBox? I mean, our title uses GL for graphics and then DirectX for music & i/o... can that be ported to Xbox, or must everything be done using Dx8 exclusively?

cheers

zeckensack
03-12-2002, 05:43 AM
Hahahahahahah

HAAAAhahahahaaaaaahahahaaha

Mwuhahahahaha

no

zeckensack
03-12-2002, 05:48 AM
Ehem, sorry for that.
It has always been part of MS' business strategy to bind developers to their platform with proprietary stuff (MFC, COM, <dirty>X, JavaScript, DHTML ...). Get them hooked and never let them go. I don't see how they would stop this trend now with the XBox.

Pentagram
03-12-2002, 05:53 AM
Why not?
It's nVidia h/w and with their unified driver architecture it shouln't be to hard.
Unless they have some contract with Microsoft?

Charles

zeckensack
03-12-2002, 06:03 AM
I think The Carmack himself contemplated developing for the XBox at one time. Result of that was, that even though NVidia could have provided the driver, Microsoft didn't want OpenGL support on their machine, so it's not part of the XBox core software. See it this way, the more people wanting to develop XBox stuff, the more people they can force into using <dirty>3D. Which in turn dimishes OpenGL development efforts for the PC.

I know very little about the dev environment on the XBox, maybe it's possible to piggyback an NVidia OpenGL driver on your game DVD. But then again, would the OS allow using that driver? And where would you get that driver from in the first place?

Devulon
03-12-2002, 06:08 AM
I figure you could put an (NVIDIA) opengl driver on the game cd. Technically it would work but I am sure microsoft has things to protect against that. The Xbox is really just a computer (Nvidia chipset with a PIII) so it technically could run anything. Even something like Microsoft Word or Photoshop. But I would have to guess that microsoft has a lot of very hard restrictions built in against things like that. I was really waiting to see who would first attempt to *HACK* the Xbox to run anything. So far haven't heard anything about it but I am sure we will soon enough. HEhe up yours microsoft.

Overmind
03-12-2002, 12:37 PM
I wonder why we don't hear anything about an Xbox emulator. At least for windows this should be extremely easy to do, just redirecting some dll function calls and perhaps emulating NV20 to support other graphics hardware.

richardve
03-12-2002, 12:56 PM
At least for windows this should be extremely easy to do, just redirecting some dll function calls

afaik the XBOX OS doesn't use ordinairy PE executables.. and there are more things that should be done different on a normal pc.


perhaps emulating NV20 to support other graphics hardware.

XBOX doesn't have a NV20 but a NV2A..

Rob The Bloke
03-12-2002, 01:07 PM
fictional statement part 1 :

an xbox is a geforce 3.

Realism says :

it has twice the capability of a Geforce 3, microsoft have written the drivers for it because it is unified into the hardware, and nvidia have not had a hand in that (other than advisory and development role). When coding on the xbox you can access registers in a way that is impossible on a PC. It is theoretically possible to run openGL on an xbox, but you'd have to code a wrapper around directx (actually, not directX, but the xBox version of it which does have differences). The question then is, why bother? Directx is the lowest level you can access the hardware on, writing an openGL wrapper is only going to slow down performance and most of the functionality provided by openGL is not needed in the realms of a console. You cannot load a nvidia driver onto the xbox because it has no drivers!!!

fictional statement part 2 :

Why isn't there an xBox emulator, it must be easy to code one....

Realism part 2 :

it may have an nvidia chip, it may have a pentium 3, but it is not a PC. On the xBox the hardware is unified, the memory is shared and you don't have requirements for an AGP bus and various other bits and bobs. This means that writing an xbox emulator would involve reverse engineering all registers and other stuff that you can access inside the xbox that is limited on a PC by windows. You would actually have to emulate the entire machine because the values it puts into memory simply don't exist on a PC, or they are unavailable. The only way you could do it is to emulate the ENTIRE hardware functionality, that means, emulate ALL calls to the processor, the graphics card, hard drive, input/output systems etc. Seeing as this is the most advanced console yet, you can forget it. You'd need a massive team of coders to do it and it'd take as much time (if not more so) than emulating a PS2 or gamecube.

Also bear in mind that the unified hardware of the xbox makes in massivly faster than a PC. At my last company, we ran tests where we were displaying 1/2 millon triangles at 60fps. There is no way that a PC could handle that.

kehziah
03-12-2002, 01:16 PM
Originally posted by Devulon:
I was really waiting to see who would first attempt to *HACK* the Xbox to run anything

Have a look here --> http://www.xboxgw.com/

Sorry for being that far from advanced opengl programming in this off-topic thread... I just couldn't resist. Playing xbox games through Linux servers ... http://www.opengl.org/discussion_boards/ubb/wink.gif

V-man
03-12-2002, 01:22 PM
More realism:

a computer is a computer. It has main memory, a cpu, a gpu, and sound processor.

Since the processor is a x86, most of the machine code is binary compatible with your PC. The hardware implementation doesnt matter. What matters is system architecture -> x86!
As for the GPU, Im pretty sure the NV2A (or whatever) is also of the same family as any other Geforce. That means, that for the most part the machine code that must be fed to the NV2A is not that different from the Geforce in a PC.

Sure, its not as simple as putting the CD in your PC and running the game. How have people made emulators for the Nintendo, SuperNES, N64, PS, PS2, gameboy, etc?

Wait 2 years and your PC will be able to run todays console games with ease.

V-man

Rob The Bloke
03-12-2002, 01:50 PM
I'm not saying it won't be done, I'm sure it will at some point. But when people claim it will be easy to do they are completely and utterly wrong.

It may have a gpu,cpu, etc, but the hardware is used differently, organised differently, and you are not limited by the windows operating system in how you access that. Emulating that hardware WILL require a full emulation and as much reverse engineering as an emulator for any other console. You cannot just pass the cpu calls to a P3, neither can you pass the gpu calls to a geforce. IT JUST WILL NOT WORK! In a unified architecture, how do you determine what calls are sent to the gpu, which memory needs what, what the processor calls are etc? Its an increadably difficult task to undertake. All I'm saying is that emulating an xbox = emulating a PS2 = emulating a Gamecube. They are non-trivial tasks.

You cannot possibly say that the xbox gpu recieves the same calls as an NV20 gpu (or related). It is not a PC! It does not work in the same way as a PC! the calls are made specifically for that hardware with no thought about passing data or geometry across an AGP bus. There are no limits to what memory you use for what purpose, it is completely unified. How can you determine an xbox call to load a texture into graphics memory? How have each developer accessed the DVD rom? how have they accessed the hard drive? There are no calls that map 1 to 1 to a PC. It is completely unified. There are no limits as to which memory you use and what you use it for. There are no limits on what registers you use and for what purpose. Therfore it is very difficult to try to map what the xbox does to what the PC does.

Sure, if you had the sourcecode for an xbox game, it would not be too much trouble to compile that on a P3 with geforce. But getting an xbox executable to run on a PC would be extremely difficult.

The xbox is ultimately a lot more advanced than any other console that has been before. the N64, snes, playstation etc are simple compared to it. I'm sure the emulation will be done one at some point, but it wont be for some time to come yet. I reackon at least 2 years for the first emulator that works, 3-4 for a stable version that works in all situations.

Zeno
03-12-2002, 04:44 PM
Also bear in mind that the unified hardware of the xbox makes in massivly faster than a PC. At my last company, we ran tests where we were displaying 1/2 millon triangles at 60fps. There is no way that a PC could handle that.

Hmm, that's 30 Million tris/sec, which is within GF3 capability (and below GF4), depending on the rendering state and geometry format.... Did you mean in a real game environment with shaders and multitexturing and stuff?

-- Zeno

Humus
03-12-2002, 05:15 PM
Originally posted by Rob The Bloke:
it has twice the capability of a Geforce 3, microsoft have written the drivers for it because it is unified into the hardware, and nvidia have not had a hand in that (other than advisory and development role).



Originally posted by Rob The Bloke:
You cannot load a nvidia driver onto the xbox because it has no drivers!!!


I don't see how these two statements can both be true ...
Furthermore, the xbox has twice the geometry processing capabilities, other than that it's basically the same as a GF3.
Also, why do you think M$ wrote the drivers? It doesn't make any sense at all. That would mean that nVidia would have to send M$ lots of low-level technical documentation about how the chip works, something I can't see nVidia doing with their extreme paranoia about information getting leaked, which is the reason you can't get for instance BeOS drivers for nVidia cards. Furthermore, building a chip without writing a drivers for it is kinda hard to do, you'd at least want to be able to test it.

john
03-12-2002, 06:58 PM
of course the x-box has drivers. everything has drivers. everything. a driver is jsut a level of abstraction; there is no freaking way that the game coders are going to hardware encode thihngs like opening a file in their program. as soon as they wrap that kind of malacky up in a nice little package, then you sir have a driver.

main program -> abstraction -> hardware

abstraction == driver.

maybe you cna't CHANGE drivers. maybe the user can't install their OWN driver. but that doesn't say that the x-box doesn't HAVE them.

cheers,
John

V-man
03-13-2002, 12:45 PM
http://www4.tomshardware.com/consumer/02q1/020204/index.html


It has a p3 733Mhz, 128K cache
64 MB DDR RAM (2x200MHz)
screen res is 640x480 @ 32bit
Memory is shared between gpu and cpu
NV2A is between a G3 and G4
Quincunx is used

From what I read, it sounds like a PC with some modification (simplifications). The fact that it needs a p3 clocked at 733MHz with such a high clocked FSB and memory indicates that it is not that great. Compare it to the 294MHz PS2 chip (no T&L in hardware there!) with 4MB for video memory .

Dont forget that it uses a simplified Win2000 as the OS. It most likely uses a similar driver architecture, file system, etc. What could they have done different? Perhaps they integrated DX into the OS, so the addresses are absolute and precompiled into the game. Big deal! Once someones cracks xbox games, instead of having an emulator, one can have a translator for converting them to the standard windows format.

V-man

Nutty
03-13-2002, 01:21 PM
I think you're being a bit naive.

Comparing to the PS2 is like comparing chalk and cheese. You say the PS2 has no hardware T&L, but it does have 2 hardware vector unit processors, and it's architecture is completely different from PC's. You just cannot compare them.

AFAIK the cpu in the Xbox is a slightly modified PIII, so saying that 8086 binary instructions will work on it straight away it wrong.

I know for a fact there is a hell of alot of security measures built in, and also into the Bootup sector of the DVD games come on.

An emulator probably will come out eventually, but just because the Xbox appears to be derived from PC products, does not instantly make it really easy to emulate. M$ knows it would lose soo much money if someone created an Xbox emulator for the PC, so they have spent a huge amount of time and effort making sure that there is physical hardware securities built into the whole chipset of the Xbox, which the games created require to run.

Nutty

MikeC
03-13-2002, 01:45 PM
Originally posted by Nutty:

M$ knows it would lose soo much money if someone created an Xbox emulator for the PC

Um... how? Microsoft loses money hand over fist on the XBox hardware; as with all consoles they make their money from the games. If you're playing an XBox game on an emulator under Windows, they still get their cut of the game price AND they get the Windows tax you paid when you bought your PC.

I agree that there are many reasons why MS wouldn't want an emulator, but I don't think this is one of them.

Mr_Smith
03-13-2002, 01:45 PM
Ha, in a few years if not sooner there will be an emulator, with the way PC speeds and gfx card speeds are increasing u could probably emulate a P3 in software in a few years, look at Gynecyst for instance, it has to emulate a Sega Mega Drive entirely, i dont c anyone opening up a pc and seeing a Z80 although thats not as big a challenge by along way http://www.opengl.org/discussion_boards/ubb/smile.gif

+looking at the way gfx are going with the Power MBX http://www.powervr.com/Release.asp?ID=38

we could be running emulators for the Xbox on mobile phones in a few years http://www.opengl.org/discussion_boards/ubb/smile.gif.

An Xbox emulator probably/will be built sooner or later, all good console have been emulated.

Microsoft may even add an Xbox emulator to future versions of Windows when the Xbox becomes obsolete to encourage u to buy another new version of windows.

And as for OpenGL if Microsoft dont sometime realise that people want an OpenGL driver and add one to encourage OpenGL games to the XBox, then someone will probably code a wrapper.

[This message has been edited by Mr_Smith (edited 03-13-2002).]

[This message has been edited by Mr_Smith (edited 03-13-2002).]

Nutty
03-13-2002, 02:07 PM
Um... how? Microsoft loses money hand over fist on the XBox hardware; as with all consoles they make their money from the games. If you're playing an XBox game on an emulator under Windows, they still get their cut of the game price AND they get the Windows tax you paid when you bought your PC.

IF an Xbox emulator existed, then it must get around the copy protection on the DVD's, if this is the case, then you'd see an explosive increase in pirated Xbox games that are cracked to run on the emulator, thus offical games sales would plummet and M$ would lose lots of money.

Nutty

Mr_Smith
03-13-2002, 02:12 PM
a few points

1. Everything is crackable it just takes time.

2. The person who cracks it wont care if Microsoft loses money.

C&C RA: "Time will tell"

richardve
03-13-2002, 02:47 PM
Point 3: Talking about a <dirty>X powered console on an OpenGL board doesn't seem really ontopic.. :|

And by the sky, when you can finally play XBOX games on your pc you can already play games featuring nvRealistic (tm) or REALSMOOTH (tm) accelerated graphics and you won't even look at those dull per-pixel-bumpmap-shaded XBOX games anymore.

(oh and if someone uses one of those trademarked + patented names in the near future I'm going to sue them and get lots of $$$! har! har!)

haust
03-13-2002, 03:03 PM
Hahahahahahah
HAAAAhahahahaaaaaahahahaaha

Mwuhahahahaha

no
i couldn't say it better ;)


Ehem, sorry for that.
It has always been part of MS' business strategy to bind developers to their platform with proprietary stuff (MFC, COM, <dirty>X, JavaScript, DHTML ...). Get them hooked and never let them go. I don't see how they would stop this trend now with the XBox.
100% right !! even if microsoft release an opengl (wrapper) driver i'm sure the directx driver will always surpass it....

zen
03-14-2002, 03:37 AM
I keep hearing how *advanced* the xbox is.I don't care if it has a zillion tris/sec throughput it's still a crappy(yet optimized) x86 wintel architecture.Please don't compare them with MIPS engines(which *surprisingly* only need to run at 294Mhz and propably don't need a cooler bigger than godzilla).On the other hand IIRC the PIII is just a Ppro core with an ISSE instruction set(more or less) not to mention it's CISC whereas MIPS is RISC etc,etc.Yet I still don't see how all this fits in an OpenGl forum...sorry I just had post that.

lobstah
03-14-2002, 04:08 AM
Hi,
Maybe I'm missing something here, but the money is made in selling the games and other merchandise, not selling the toolkit used to make the game or 3D graphics application. So I don't understand why M$ is hell bent on competing with OpenGL. There are exponetially more gamers than there are 3D grahpics developers/engineers. From a business perspective, it seems like a waste of time and effort to push M$'s 3D Graphics API. Another way to look at it is "Why re-invent the wheel when the wheel has proven itself (OpenGL) many times over?"

Seems like a personal possession thing to me.

Just my two cents.

lobstah...

[This message has been edited by lobstah (edited 03-14-2002).]

[This message has been edited by lobstah (edited 03-14-2002).]

Eric
03-14-2002, 04:10 AM
What the hell is the X-Box ???

Can I go back to MGS2 now ? http://www.opengl.org/discussion_boards/ubb/wink.gif

Eric

P.S.: what was it we were saying the other day about OT ??? http://www.opengl.org/discussion_boards/ubb/rolleyes.gif

zeckensack
03-14-2002, 04:26 AM
posted by lobstah:
From a business perspective, it seems like a waste of time and effort to push M$'s 3D Graphics API. Another way to look at it is "Why re- invent the wheel when the wheel has proven itself (OpenGL) many times over?

Believe it or not, games are what a platform needs to become the 'hot thing'. Good productivity apps (which obviously excludees MS Office) are available just about everywhere, Linux, Mac, you name it. The remaining viability factor for Windows is its vast selection of games and the neverending stream of new releases that never get ported because they are developed without cross-platform considerations (read: OpenGL) in mind. <dirty>X is just about the only thing that makes having Windows useful for the somewhat proficient home user. And it's just about the only thing that limits developers' porting capabilities.

knackered
03-14-2002, 04:32 AM
There's an MSWindows xbox sdk, isn't there?
Microsoft follow the path of least resistance, am I not right?
It would be totally out of character for them to put in any more r&d than is absolutely neccessary for the product...they have plenty of experience debugging Windows2000, so they wouldn't do anything to potentially introduce new bugs.
It'll be the same principles, probably the same bleeding implementation...we'll just have to wait for one of the games to crash, will it be a blue screen or a retry/debug dialog box, I wonder?
Anyone know if there's an agp slot under some flap of plastic on the xbox? I wouldn't be surprised - for a future add-on gpu.

Anyway, you guys should be learning direct3d too, you know - it comes in useful sometimes.
Getting a job in the games industry, for one - which presumably a lot of people on this board want to do? I've seen enough questions formed in the context of a game environment....(except for the people who simply enjoy experimenting with new extensions or program professional simulators/visualisation tools - of course).

zeckensack
03-14-2002, 04:44 AM
Then blame the dev houses that say from the start "We target Direct3D. Or else, you're fired.". There's just no reason to do that. These are the sheep that make Windows a necessity.

zeckensack
03-14-2002, 04:47 AM
Originally posted by knackered:
There's an MSWindows xbox sdk, isn't there?

AFAIK, the dev kit consists of a souped up XBox (twice the memory), a PC based SDK and some kind of link. You code and compile on the PC but you run and debug it (via the PC link) on the XBox.

opla
03-14-2002, 05:33 AM
Who cares about the XBOX ?
it's too expensive, everybody's waiting for the price to drop (XBox = 480 euros, PS2 = 300 euros, GameCube = 250 euros)

The XBox launches today in Europe, but in one of the biggest shops in Paris, they sold only 5 XBox this morning (at 11H30) http://www.liberation.com/flash/actu/20020314actua.html

[This message has been edited by opla (edited 03-14-2002).]

Bob
03-14-2002, 05:42 AM
Yeah, who cares about the XBox (and any other newer console)?

I have a C64 at home, and it has LOTS of awesome games. Todays games are just interactive eye candy anyways. Most of them totally lacks the feeling and gameplay.

knackered
03-14-2002, 07:00 AM
There is a reason to insist their employees know *both* API's. OpenGL has support on the major PC cards (nvidia, ati, 3dfx, and kyro's), but there are older cards that do not have gl support - there are also a fair number of consoles that don't have support for either gl or d3d. If someone is unwilling or unable to learn more than one api, then they're not much use to a games company, I would have thought (and will have a very narrow view of realtime graphics programming).
I don't understand why there's so much anti-any-other-api-but-opengl feelings on this forum - yes the discussion should focus on opengl, but without referencing other api's, it's difficult to have open discussion - every time I've mentioned d3d in relation to opengl, I've recieved "my spectrums better than your c64" comments...it's just too weird. (btw, the spectrum was best http://www.opengl.org/discussion_boards/ubb/smile.gif ).
Have you read any of the documents on vector units on the ps2? D3D looks positively elegant in comparison.

Anyway, how do my comments relate to the Xbox in the context of opengl? I've forgotten...

Mr_Smith
03-14-2002, 07:12 AM
Anyway dont fit in here but...

Who the Heck owns the PS2 Logo???

I know IBM use to for there Personel System 2's but did sony pay loads of money for it from IBM or are they going behind peoples backs?

knackered
03-14-2002, 07:16 AM
Well that's cerainly killed the conversation! http://www.opengl.org/discussion_boards/ubb/smile.gif

V-man
03-14-2002, 11:18 AM
For the person who wanted to know why M$ created DX (you should know this stuff already):

#1 MS wanted people to make games for Windows. They wanted to kill off DOS.

#2 They needed to create something that allowed Devs to "program to te metal"-> Direct access to hardware.

#3 The OpenGL license costs money for M$. OpenGL is licensed to make WinNT an alternative to Unix systems + OpenGL workstations (CAD + CAM)

#4 Licensing DX to big corporations means big bucks for M$. Finally, M$ decides that OpenGL was a mistake to bring on Windows. Games using DX make Windows the ideal choice for gaming for years to come.

Maybe there are some points I'm missing here, but the ones above are essentially the story.

V-man

zeckensack
03-14-2002, 01:24 PM
You know, I sometimes wonder how D3D could have made it this far. Up to and including #6 it was just pathetic, #7 looked a lot like OpenGL 1.2 and I actually believe D3D8 is a powerful tool. I just can't understand why everyone used it while it still was in its crappy infant stages.

knackered
03-14-2002, 01:29 PM
Because there was no proper opengl support in hardware for a long while with consumer cards...I remember having to play quake2 at work during my lunch-hour using id's software renderer for a good while, on one of the old ati cards...rage something-or-other...it accelerated d3d games perfectly, though.
That is why d3d was adopted by developers - opengl was reserved for high-end cards/workstations (this is only about 4 years ago).