Getting out of the stone age - baseline OpenGL functionality

I use OpenGL ES 1.0 and it still is beyond 50% of phone hardware. So some people are stuck in the stone age for 2 more years.

I’ve written an engine that had rendering paths for the following:

  • Fixed-function lighting + multi-texturing.
  • Two paths for semi-programmable hardware, utilizing NV_register_combiners and ATI_fragment_shader.
  • Full shader-based (GLSL). I’d used the low-level shader extensions as well, but ended-up throwing that out when GLSL drivers stabilized.

I would never ever do it again. Which means I’m closer to what theagentd is saying. I’m not comfortable with his strong opinion either, but in his defense Orangy Tang didn’t really specify what kind of engine he wants to build in the OP. Anyway, for Puppygames-style games, I’d go with GL 1.5 baseline and then build on that. Decent VBO support is the minimum requirement. One fixed-function path and one (basic) shader-based one is not that hard to build and support.

@theagentd: I’m wondering why you consider GL 3.3 should be the baseline. Take one step back and you can run on the newer Macs (3.2). Take one more and you can run on Ivy Bridge (3.1), which imho is going to be really popular. Do you really require geometry shaders to build a modern engine?

Stumbled across this which has a nice list of what functionality made it into different versions: http://www.opengl.org/wiki/History_of_OpenGL

Of course it’s not entirely helpful because it doesn’t say when extensions were first introduced.

Yeah, that was a mistake I only just noticed. For the sake of argument, let’s say “modern 2d”, although I’m sure people will have different ideas as to what that means.

I’d completely forgotten about pre-GLSL shaders. Would you consider those obsolete now? I’d be inclined to ignore them just because of how much of a pain they are to work with.

I’d use non-GLSL shaders only as a workaround to GLSL bugs or to speed-up start-up times. For “modern 2D” games you shouldn’t need to do that ever.

like a hundred bucks - and why is it shit
I would still buy a C64 =D

Not everyone is happy to ride the evil-capitalist-conspiracy planned obsolescence train. Also, IBM Thinkpads are well regarded for being pretty reliable machines.

Because it’s I’m gonna have my school report done when you’re computer has finally opened up Word, probably even using less electricity. I can even listen to music at the same time without my hard drive grinding to a halt!

My logic in buying an expensive computer is this:

  • I need a computer for school work, Internet, e.t.c.
  • I want to play games.
  • I want to watch movies and anime.

I could get a cheap computer, a console and a DVD/Blu-ray player, but they would all be low end (yes, PS3/X360 is low end). If I just combine my budget into a decent computer, I can get a computer that does all the things I listed above in one package so much better performance. You just have to be technical enough to hook up your desktop/laptop with an HDMI cable to your TV. I’m not saying that it’s cheaper or better than buying those things separately, just that you get so much more performance for the same amount or not much more money. Add in that I like graphics and programming, it’s obviously cheaper for me to focus on my PC than anything else.

And don’t just ignore me as some rich kid or something. I worked my ass off for 3 months on McDonalds on minimum wage to build my computer.

I differentiate between “runnable” and “playable”. Just because your game RUNS on a computer older than I am doesn’t mean that it runs well. OpenGL version doesn’t say anything about what performance you can expect performance from them. I’ve seen OpenGL 2.1 cards that have barely enough fill rate to fill every pixel on the screen without shaders. GLHF getting 60 FPS on those cards no matter what OpenGL version you support.

This is a perfectly sensible POV and one I subscribe to myself. Unfortunately you’ll have a job convincing the other 90% of the population…

Cas :slight_smile:

I’m not trying to argue your reasoning - people should use newer technology

but this is the reality
also - I earn my money with a Laptop, a HP nx6325, has like 2Ghz single core, some ATI express, 1GB Ram
if this thing breaks I’m gonna buy another weak laptop or netbook to replace it, maybe even the same model if I get it cheaply, because this thing was just so reliable all this time

one person on our developer team has a acer aspire one, which is the weakest machine we all have
so we ensure that our game runs 60 fps on this machine