Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

879744 Posts in 33002 Topics- by 24376 Members - Latest Member: xnothegame1

May 24, 2013, 08:00:45 PM
TIGSource ForumsDeveloperTechnical (Moderators: Glaiel-Gamer, ThemsAllTook)OpenGL 3.1, Premature Optimization?
Pages: [1]
Print
Author Topic: OpenGL 3.1, Premature Optimization?  (Read 513 times)
Optic
Level 0
*


View Profile Email
« on: July 21, 2012, 03:21:46 PM »

Quite a simple question :
For a simple 2D Platformer (Creating the engine myself in C++) Would you consider using OpenGL 3.1+ (VBO's / VAO's etc) a Pre-mature optimization or unneccessary ? Should I stick to the more simple world of OpenGL 2.1 ?

« Last Edit: July 21, 2012, 03:35:47 PM by Optic » Logged
J-Snake
Level 10
*****



View Profile WWW Email
« Reply #1 on: July 21, 2012, 04:31:16 PM »

No, you should go with OpenGL 3.1 + for the good lesson and make use of vbo's, vba's and your own shaders.
The old 2.1 standard wants to fade away so don't count on that.
Logged
Evan Balster
Level 10
*****


dreaming close to metal


View Profile WWW Email
« Reply #2 on: July 21, 2012, 06:26:17 PM »

A good question to ask is whether you see mobile dev on the horizon for yourself.  OpenGL ES requires you to use the more "modern" style of GL coding, and it's good to start learning early.
Logged

Infinite Blank, SoundSelf, Cave Story+, Wreath
voice, accordion, mandolin, (oboe, soon)
Game audio programming consultant.
<plaid/audio>: opensource audio framework
mcc
Level 10
*****


glitch


View Profile WWW Email
« Reply #3 on: July 21, 2012, 08:08:00 PM »

To my knowledge there is nothing in 3.1 that is not in 2.1 that will benefit you for a 2D platformer.

Targeting OpenGL ES 2.x rather than OpenGL will benefit you because (1) doing so will produce OpenGL-compatible code, and (2) it will allow you to run on mobile.

(As Evan points out, if you write to OpenGL 3 spec you are basically writing OpenGL ES 2.x.)

Using VBOs, shaders, and other OpenGL 2.x features can benefit you when writing a 2D platformer. This is because VBOs, RTT, postprocessing allow you to do fancy "special effects" like screen blurring or warping with very little effort.

I don't think the 2.x standard is going away anytime soon. Actually there are good reasons to target 1.x (compatibility, I run into people who can't run my OpenGL 2.x games)

I think you're asking the wrong questions though. You should first ask "what do I want my platformer to look like?". This will then help you decide which 3d card features you do or don't need.
Logged

My projects:<br />Games: Jumpman Retro-futuristic platforming iJumpman iPhone version Drumcircle PC+smartphone music toy<br />More: RUN HELLO
Optic
Level 0
*


View Profile Email
« Reply #4 on: July 21, 2012, 11:28:09 PM »

Thanks for the replies!

Quote
A good question to ask is whether you see mobile dev on the horizon for yourself?
Possibly, but for now It's Win/Linux/OSX. I have experience creating mobile games (iOS using Cocos2D, so the hardware level is removed somewhat, therefore I was not fully aware of the situation there).

Quote
I think you're asking the wrong questions though. You should first ask "what do I want my platformer to look like?". This will then help you decide which 3d card features you do or don't need.
Look/Style wise, think Braid. Simple Platformer, relatively simple art style. I don't foresee needing any wacky Fullscreen Postprocessing etc (although I guess having the option is always worth it).

The main issue I have is that I created a 3D engine several months back that used GL3.1 and the extra work to manage everything (Matrices, Shaders for EVERY object) seemed such overkill (especially so for 2D), although perhaps this wouldn't be such an issue when I remove a dimension.

Quote
(As Evan points out, if you write to OpenGL 3 spec you are basically writing OpenGL ES 2.x.)
So are OpenGL ES 2.X and OpenGL 3.1+ Literally exchangeable / no changes required ?

Thanks in advance!
Logged
ikhalil
Level 0
*



View Profile WWW
« Reply #5 on: July 22, 2012, 06:57:01 AM »

I would not consider using 3.1 as premature optimization. The change are big enough that this is something you have to decide at the start of a project in my opinion.
Logged
R.D.
Level 1
*


Hats = Awesome


View Profile
« Reply #6 on: July 22, 2012, 11:52:39 PM »

You should consider that a lot of people don't have a GPU that supports OpenGL 3.1+. There are even peopke you still run on a OpenGL 1.x Version.
It's actuall ignorant to say to let the old versions fade away. Even modern AAA-Games have fallbacks for old GPUs.
If you really target Embedded Systems you need to know the OpenGL ES and OpenGL 2.x are kinda the same. There is no glBegin/glEnd anymore but that's not the problem imho (for a simple 2D game that is).
You can use libGdx as a start. It's a framework for Web, Mobile and Desktop too so you kinda fill every plattform with it (Not sure about iOS here).
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic