Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

Graphics questions

Name: Anonymous 2011-12-29 6:05

Hey guys, I'm sure you get hundreds of posts like this all the time, but I could use some advice before I try learning to make video games.


1) I'm trying to pick between OpenGL and DirectX. Anything that might sway my decision one way or the other?

2)If I pick OpenGL, should I use GLSL or Nvidia CG? Which yields better results graphics wise? Which has more cross-platform capability? Which is easier?

3) If I pick OpenGL, do I learn OpenGL ES or just straight OpenGL? To be honest, my interests are more towards developing for consoles and handheld consoles rather than for PC. Do I need to learn OpenGL before OpenGL ES? How similar are they?

4) How long would you say it takes to fully learn OpenGL or DirectX? I mean really know either of them and be able to create quality work. What about HLSL, GLSL, or CG?

(Note, I'm a very very inexperienced programmer. Like a beginner, really. I've had a year with C++ and that's about it. I'm just trying to figure this out before I spend time learning something potentially useless.)

Name: Anonymous 2011-12-29 6:31

Eventually you'll see the light and you'll move on to Linux; if your previous code was written in DirectX, you would have no choice but to rewrite all of it, but were it to be written in OpenGL, a few changes would all that would be necessary. Perhaps no changes at all, if you use something like SDL.

Name: Anonymous 2011-12-29 6:50

neither

3D considered pig disgusting

Name: Anonymous 2011-12-29 6:53

1) Easy: OpenGL. See >>2
2) Are you serious? If you even need to mention "cross-platform capability", you use GLSL.
3) OpenGL ES is a heavily reduced version of classic OpenGL, which in turn became the basis for later OpenGL revisions. I don't know about consoles, but pretty much all portable devices use ES. If I were you, I wouldn't want to get too familiar with immediate mode and other classic (or `deprecated', if you wish) features, because you're going to have to do without them in ES.
4) With OpenGL ES and strict OpenGL 4, not that long, although the learning curve is very steep now that the fixed function pipeline is gone.

Name: Anonymous 2011-12-29 6:56

OpenGL is certainly superior and cross-platform (not just Linux, Mac OS, Windows, but lots of mobile devices and consoles, learning OpenGL for computers will help you later with others like Android, PS3, etc.).

OpenGL just rocks and DirectX is piss.

Name: Anonymous 2011-12-29 14:19

I find DirectX better. Unlike OpenGL it has a great deal of libraries related to game programming, math etc. OpenGL is simply a wrapper around GPU calls. If you go for Opengl, you will be forced to search replacement for these DirectX libraries.

Forget about cross-platform, noone on linux play computer games anyway.

Name: Anonymous 2011-12-29 14:25

>>6
While what you're saying is true, there are helper libraries for OpenGL (GLU, GLUT, etc) that make it more DirectX-like. OpenGL being more "low level" is a pro, not a con.
Plus you're not forced to use sepples. Though I guess OP is using sepples anyway, so it's a moot point.

OP, maybe you should look into something higher level? Irrlicht and Ogre 3D are both nice engines, even for a beginner.

Name: Anonymous 2011-12-29 14:27

>>6
>>1 said `` To be honest, my interests are more towards developing for consoles and handheld consoles rather than for PC.'' Let's count the devices of type (or handheld console) running DirectX...

Here's the complete list:
- Xbox360

Name: Anonymous 2011-12-29 14:34

>>7
Well, I am not very familiar with OpenGL as Direct3D, just started learning. but most of the libraries I used is not very compatible with OpenGL. For example glm, I have to do stupid things like &vector[0] etc to use it for the opengl functions that inputs float[]. Never had that problem on DirectX.

Personally I don't like Microsoft that much but DirectX is probably one of the finest things that they produced.

While on topic, any good texture, text rendering and model libraries for OpenGL? Which model format/library is popular?

Name: Anonymous 2011-12-29 14:36

>>4[/code]'
that feel when i'll never stop using the fixed function pipeline and become an expert[/code]

Name: Anonymous 2011-12-29 14:39

>>10`
>2012
>using standard pipeline

You will die as a sad man

Name: Anonymous 2011-12-29 14:41

>>9
You're complaining about opengl taking pointers rather than copied values?

good texture
what do you mean by good texture? if you mean loading images -> textures then DevIL

text rendering
smfl/sdl, or you could just use bitmaps and write your own very simple text rendering method

mode libraries
depends on the model format that you choose

Name: Anonymous 2011-12-29 14:42

>>11
but it's so easy ;__; Why must all good things die.

Name: Anonymous 2011-12-29 14:55

>>13
There'll probably be "fixed function" libraries.

Nintendo is still doing fixed-function pipelines on the 3ds, because it's more efficient and easier to develop for than general shaders.

I'm kind of surprised there hasn't been fixed function library called like OpenFFL, or open fixed function library.

With AMD getting better OpenCL support a prefab shader library should be inevitable.

Name: Anonymous 2011-12-29 15:06

>>13
Don't worry. Although `deprecated', support for it isn't going anywhere, ever. And that's good. If I simply want to plot a few points and lines as an overlay, the `modern' way to do it would be mindbogglingly laborious. The drivers you're using are already optimized for this kind of simple stuff, so why the hell wouldn't you just leverage them? Apparently everyone at Khronos has lost their minds. Fortunately the hardware manufacturers still mostly are in touch with reality.

Name: Anonymous 2011-12-29 15:13

>>15
>>14
why didn't they implement some kind of buffering on the inside if they wanted to improve it?

Name: Anonymous 2011-12-29 15:15

>>16
Who `they'? Every real OpenGL implementation does that already.

Name: Anonymous 2011-12-29 15:25

>>17
why does it sucks o much ass then once you render >10000 things a frame

Name: Anonymous 2011-12-29 15:29

>>18
Because there's necessarily an additional layer of crap. Immediate mode is extremely useful (and fast enough) for many things, but rendering a metric shitton of polygons isn't one of them. Not everything using OpenGL is a game. I've never even written a game using OpenGL, although I've used it for years.

Name: OP 2011-12-29 17:57

Hey guys, OP here.

So I've read this thread and it seems as though OpenGL is the preferred choice. Am I to understand that I should be learning OpenGL ES if I have no desire to develop for Windows/Linux/Mac?

Also here's another problem. Nvidia CG.

I've read that GLSL doesn't work on the PS3, and the real language they use is Nvidia CG (and I'm guessing the PS Vita does this as well). Xbox 360 uses HLSL, and I'm assuming the Wii uses GLSL (and the 3ds).

Well fuck. Is that true? If I pick GLSL will I be restricted to developing for a platform that has barely any games?

Sorry if I'm being so paranoid about this.

Name: Anonymous 2011-12-29 18:00

>>20
PS3 has no games
Xbox 360 is microshit

Name: Anonymous 2011-12-29 18:04

Pretty sure the Wii and 3DS don't support OpenGL ES 1.2 which means they don't support shader languages or something like that. In fact, for the 3DS they extended the existing OpenGL instead of adopting the new one, so they could use fixed-function pipelines instead of having each developer rewrite shaders that should be common but aren't. Also shaders, like I mentioned earlier, are more expensive in terms of power and performance than fixed-function hardware, so it was a pretty significant design choice to enhance the life and power of the devices.

For PS3 I wouldn't be surprised, I don't know how well the GLSL was developed when the PS3 came out (shit is ridiculously old, 7800gt OC is it's GPU, not even a GPGPU to be found). XBox360 obviously won't support it.

Pretty much every Arm and any other portable devices on the other hand supports OpenGL ES 1.2+ and GLSL, as well as OpenGL 3.2+ supporting GLSL or whatever.

OpenGL ES is a lot like Direct3D 7 or 8.1 in effect, but with shaders because it skipped the shit generation of Direct3D 9 and 10. (1.0 or 1.1 would be more like DX7, 1.2+ would be like DX8)

You have to just go and program, whatever you're doing, no matter how bad it turns out, is worse than just being a nigger and doing nothing until you can absolutely know which is the best option.

Name: Anonymous 2011-12-29 18:05

>>20
Here's your options:
DirectX + HLSL
->Windows
->Xbox 360
OpenGL [ES]+ GLSL
->Windows
->Linux
->Mac
->Wii
->3ds
OpenGL + Nvidia CG
->PS3
->PS VITA?
->computer with nvidia card that supports CG

Name: Anonymous 2011-12-29 18:08

>>23
AFAIK Windows/Mac/Linux drivers don't support OpenGL ES, since the whole "embedded systems" bit.

Name: Anonymous 2011-12-29 18:09

hlsl and glsl are pretty similar. you shouldn't have too much trouble porting fragment shaders.

Name: Anonymous 2011-12-29 18:51

>>24
Way off.

Name: Anonymous 2011-12-29 19:16

>>24
Does the word ``subset'' ring a bell, cocksuckingfagstorm?

Name: OP 2011-12-29 22:15

Op here. How easy is it to port things over between OpenGL and DirectX (GLSL and HLSL)? What about OpenGL to OpenGL ES? What about GLSL to CG?

(Sorry for all the questions)

Name: Anonymous 2011-12-29 22:21

>>28
Think about you just asked.

How easy is it to port things from one graphics library to a completely different and unique one? What about One graphics library and a subset of it?

Name: Anonymous 2011-12-29 22:22

>>28
between OpenGL and DirectX (GLSL and HLSL)?
Complete rewrite.

What about OpenGL to OpenGL ES?
You'll have to remove/replace certain deprecated API calls. Remember that OpenGL ES is a subset of OpenGL, which means that OpenGL ES code is valid OpenGL code. Not the other way around.

What about GLSL to CG?
Completely pointless rewrite.

Name: OP 2011-12-29 22:56

>>30

Why is GLSL to CG pointless? Also, can I test OpenGL ES code on a regular computer (non-embedded system)? If yes, could I expect the tested graphics to appear the same on any other hardware?

Name: Anonymous 2011-12-29 22:58

>>31
yes

Name: Anonymous 2011-12-29 23:00

>>31
Because GLSL is cross-platform, while CG is not.

Name: Anonymous 2011-12-29 23:20

>>2
SDL is shit, >>1 should use SFML.

Name: Anonymous 2011-12-29 23:57

>>34

whats your beef with SDL? just curious. I've been using it and it's fast and simple. I haven't tried SFML though.

Name: Anonymous 2011-12-30 0:15

>>35
SFML is a C++ lib, which is a big negative for me.

Name: Anonymous 2011-12-30 0:22

>>36
Why do you care? Just use it as if it was C.

Name: Anonymous 2011-12-30 0:36

>>36
SFML has a c port

>>37
You can't just use an object-oriented library in a non OO language. It doesn't work that way. Anyway they have a C port.

GLFW is the master race here anyway, no bloat. clean and simple.

Name: Anonymous 2011-12-30 0:41

Unlike SFML, SDL isn't pure shit.

Name: Anonymous 2011-12-30 0:56

>>39
SDL is also shit

SDL 1.3 looks promising

Name: Anonymous 2011-12-30 1:03

>>40
SDL is awesome.

Don't change these.
Name: Email:
Entire Thread Thread List