Archived

This topic is now archived and is closed to further replies.

i8degrees

OpenGL OpenGL and 2D

Recommended Posts

Is creating a 2D engine based on OpenGL a good idea? I know it can do pixels, blits, and all that. Is it safe to assume that most people will have a 3D accelerated graphics card that can run OpenGL apps reasonably well? I know a lot of older cards don''t support GL that well... it would limit a lot of older computers out of the arena, I guess it might just be a design decision to have to be made by myself. "I am governed by none other than the Laws of the Universe."

Share this post


Link to post
Share on other sites

It is an excellent idea. And about the other question, well -- I''m not too sure (hi bunny!) but in any case OpenGL will revert back to software mode if it''s not hardware accelerated. Definitely a good idea in any case.


2D!Now

Share this post


Link to post
Share on other sites
Heh, well software mode is EXTREMELY slow, even on my computer (Athlon 850, 384MB ram), so I definitely wouldn''t want anyone having to play my game on an unaccelerated card. The game that I tried was Nehe''s Zelda, which is very basic. It was slow as hell until I updated my drivers for my Geforce2 MX 400 for OpenGL support (on WinXP). Oh, and on a unrelated note, why is it that when OpenGL apps go fullscreen, and then turn back, it messes up the placement of my other open windows? It doesn''t do it on SDL/DirectX apps.

I think the 2D engine running on OpenGL would be a cool idea though, especially with GLUT added. I''d prefer it over SDL.

"I am governed by none other than the Laws of the Universe."

Share this post


Link to post
Share on other sites
>>Heh, well software mode is EXTREMELY slow, even on my computer (Athlon 850, 384MB ram), so I definitely wouldn''t want anyone having to play my game on an unaccelerated card. <<

true, software is horrible but remember a in the US the last 3 number one 3d games have all used only opengl, its safe to assume quite a few ppl have a 3d accelerator

>>The game that I tried was Nehe''s Zelda, which is very basic. It was slow as hell until I updated my drivers for my Geforce2 MX 400 for OpenGL support (on WinXP).<<

winXP does not support opengl out of the box, (easily fixed by downloading drivers from the manufacturer). surely such blatent abuse by ms is against the law (does it matter)

>>Oh, and on a unrelated note, why is it that when OpenGL apps go fullscreen, and then turn back, it messes up the placement of my other open windows? It doesn''t do it on SDL/DirectX apps.<<

bad window creation code, personally this is why i plan to use SDL in creating all my opengl windows (its tried + tested + bugfree)

http://uk.geocities.com/sloppyturds/gotterdammerung.html

Share this post


Link to post
Share on other sites
Hmm, I''ve been looking at OpenGL more ... how would I be able to plot graphics primitives using the standard coordinates system that I have been use to? I notice that OpenGL uses floats, but I want to maintain the same old pixel coordinate system that has been in use... If I want a pixel at (50, 50) on a OpenGL surface, how could I do this? You aren''t dealing with resolution anymore?

"I am governed by none other than the Laws of the Universe."

Share this post


Link to post
Share on other sites
OpenGL is not in its element in pixels and blits. You''d do better to use quads and textures.

Share this post


Link to post
Share on other sites
What do you mean, not in its element? Is it going to be slow doing indiviual pixels (GL_POINTS)?

[EDIT 1] Oh, thanks llyod, I'm sure that information will come in use.

[EDIT 2] If I do the 2D engine in OpenGL, it has to be efficient at not only sprite blitting, but graphics primitives as well. If going to SDL or DirectDraw means faster, I'll switch to that.

[edited by - i8degrees on May 6, 2002 10:12:12 PM]

Share this post


Link to post
Share on other sites
If you're talking about using GL_POINTS to fill large areas of pixels, it's a very bad idea, in fact it's a bad idea to be plotting any serious number of individual pixels in any graphics API. If you _really_ want to play with pixels, learn ASM. Plotting pixels is not something high level graphics APIs are designed for.

quote:

[EDIT 2] If I do the 2D engine in OpenGL, it has to be efficient at not only sprite blitting, but graphics primitives as well. If going to SDL or DirectDraw means faster, I'll switch to that.



OpenGL is a very capable API for 2D, but you have to use textures and quads (as someone said already). You can think of textured quads as sprites.
____________________________________________________________
www.elf-stone.com

[edited by - benjamin bunny on May 6, 2002 11:03:44 PM]

Share this post


Link to post
Share on other sites