Having a look now at how you encapsulate your shaders, thanks for sharing.
The tutorials out there are indeed pathetic, it has to be said. It's depressing to know how many others will suffer through that stuff just to get a working shader-based app running. There are precious few good tutorials, Durian Software's and lighthouse3d's being some of the best. For anyone else using LWJGL, this was also immensely useful. I'm learning the programmable OpenGL 2.0 ES subset of OpenGL 2.1 using VBOs, and in spite of the usefulness of this approach due to its applicability to desktop and mobile and the fact that it is "modern", it's still incredibly hard to find a single, comprehensive tutorial that foregoes all the fixed pipeline cruft. The iOS and Android tutorials don't help either, as they encapsulate too much, hiding the basic OpenGL function calls from you. I had to use a few 3.0 tutorials to help me get up to speed with 2.0; fortunately the only difference was in & out vs. varying in GLSL 1.5, AFAICT.
- Viewing Profile: Posts: NickWiggill
Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics
Community Stats
- Group Members
- Active Posts 71
- Profile Views 813
- Member Title Member
- Age Age Unknown
- Birthday Birthday Unknown
-
Gender
Male
-
Location
United Kingdom
168
Neutral
User Tools
Contacts
NickWiggill hasn't added any contacts yet.
Posts I've Made
In Topic: So I started writing Example Programs
09 July 2012 - 06:19 AM
In Topic: OpenGL perspective problem
07 July 2012 - 09:01 PM
Haha, this just helped me out too. Thanks mhagain.
In Topic: Transform matrix application order
06 July 2012 - 01:52 PM
Ah, many thanks. Updated again with the multiplication order. This should allow me to proceed. I hope you have a good weekend too
In Topic: Transform matrix application order
06 July 2012 - 01:03 PM
Hi larspensjo,
Thanks for clarifying, I've updated the question by removing the reference to the "window" matrix.
Also could you confirm the order then, for matrix multiplication:
[source lang="java"]modelViewMatrix = viewMatrix * modelMatrix; //??modelViewProjectionMatrix = projectionMatrix * modelViewMatrix; //??[/source]
...Assuming matrix mul() ordering is thisMatrix * otherMatrix?
Thanks for clarifying, I've updated the question by removing the reference to the "window" matrix.
Also could you confirm the order then, for matrix multiplication:
[source lang="java"]modelViewMatrix = viewMatrix * modelMatrix; //??modelViewProjectionMatrix = projectionMatrix * modelViewMatrix; //??[/source]
...Assuming matrix mul() ordering is thisMatrix * otherMatrix?
In Topic: A comparison of graphics libraries and their respective programming languages.
11 January 2012 - 03:41 PM
If I were you, I'd take the time and learn OpenGL, particularly since you're a dedicated hobbyist at this stage. Like C and C++, it's a general-purpose tool that sets you up for opportunities in different industries, if it ever interests you to do 3D programming for eg. medical visualisation or defence contracting. They say that DirectX is a short leap from OpenGL. Also, I would say you can get into GPGPU technologies like OpenCL or Nvidia CUDA more easily if you take this route. And IMO, that's where the future is: General purpose, massively parallel processing without restricted access to the bulk of system memory.
So that's DirectX covered under that umbrella, as well. I would favour it only slightly less than OpenGL, but that's very much a personal preference. It's still miles ahead of the remaining alternatives.
For the above reasons and more, I wouldn't choose XNA. I find the framework restrictive and to me at least, the architecture desicions they took don't make much sense. Yes, I know it's great to be able to deploy for Windows and XBox360 at the same time. Yes I know C# 4.0 is (let's be fair) a great language in many ways. XNA may save you time. But I'd still avoid it unless I was specifically targetting the Xbox360 for a game that didn't require the degree of control that a lower level language offers.
To be fair, if you are not already a C or C++ programmer (you don't specify), I would certainly go the Java and OpenGL route. Notch, of Minecraft fame, has made a huge name for himself with those two technologies as an indie and I don't think that is something to sneeze at. I used Java briefly last year and in comparison to C#, it may have less modern features, but the consistency and simplicity of the core libraries are just brilliant. Java collections are an absolute pleasure, more than any other language I've worked with. And they support just about any type of collection you can think of, natively. And they're FAST.
You did leave out one popular option, which is Unity. This is ideal if you want a really, really fast start. The basic edition is free, and you can use DropBox for source control (since unless you pay for version control support otherwise, it can be problematic). It uses Mono C#, although not the newest version.
So that's DirectX covered under that umbrella, as well. I would favour it only slightly less than OpenGL, but that's very much a personal preference. It's still miles ahead of the remaining alternatives.
For the above reasons and more, I wouldn't choose XNA. I find the framework restrictive and to me at least, the architecture desicions they took don't make much sense. Yes, I know it's great to be able to deploy for Windows and XBox360 at the same time. Yes I know C# 4.0 is (let's be fair) a great language in many ways. XNA may save you time. But I'd still avoid it unless I was specifically targetting the Xbox360 for a game that didn't require the degree of control that a lower level language offers.
To be fair, if you are not already a C or C++ programmer (you don't specify), I would certainly go the Java and OpenGL route. Notch, of Minecraft fame, has made a huge name for himself with those two technologies as an indie and I don't think that is something to sneeze at. I used Java briefly last year and in comparison to C#, it may have less modern features, but the consistency and simplicity of the core libraries are just brilliant. Java collections are an absolute pleasure, more than any other language I've worked with. And they support just about any type of collection you can think of, natively. And they're FAST.
You did leave out one popular option, which is Unity. This is ideal if you want a really, really fast start. The basic edition is free, and you can use DropBox for source control (since unless you pay for version control support otherwise, it can be problematic). It uses Mono C#, although not the newest version.
- Home
- » Viewing Profile: Posts: NickWiggill

Find content