For whom is this website meant?
This website is meant for an intermediate Java developer interested in using the Lightweight Java Game Library to create video games with stunning graphics.
Contents
On this website there are free text tutorials on the basics of OpenGL and LWJGL. Additionally, there is information about a private tutoring programme for LWJGL and OpenGL. Lastly, there is a donate page and an about page.
What is OpenGL and what is LWJGL?
OpenGL by TheKhronosGroup is a widely used low-level API for rendering state-of-the-art 2D or 3D computer graphics. It exposes all the features of the latest graphics hardware. Click here for more information on OpenGL.
The LWJGL website describes LWJGL as the following:
The Lightweight Java Game Library (LWJGL) is a solution aimed directly at professional and amateur Java programmers alike to enable commercial quality games to be written in Java. LWJGL provides developers access to high performance crossplatform libraries such as OpenGL (Open Graphics Library), OpenCL (Open Computing Language) and OpenAL (Open Audio Library) allowing for state of the art 3D games and 3D sound.
Nice website!
Did you follow my advice?
Thanks. But what advice are you talking about?
I think it was a shitty spam comment or something from a weird spam-bot..
Ah, I didn’t consider that. Thanks! Hey, you’re from Stackexchange, right? Welcome to thecodinguniverse!
No spam bot haha,
Oskar knows me on skype, atleast i hope he recognizes me
I do.
Awesome website looks great keep up the good work
Thanks!
No probs
Are you really only 14? You’re a genius!
Yup, I’m really only 14. Thanks.
Do’t you have birthday on 29 Feb ?
When do you start to learn programming ? ….. Btw nice websites. Keep up doing your amazing tutorials.
Nope, my birthday isn’t February 29th. I started programming on and off three years ago. And thanks for the compliment.
Yeah, it is pretty cool. If you are using Java Web Start, there is also a fntouicn called jardiff that works with the download servlet that can just send only the changed classes to the client. I’m doing some research on this and will post if I make progress using it.
Hi! I’m 14 too, and it’s nice to know that there aren’t comments saying that the website is rubbish just because it’s made by a teenager. I love your LWJGL stuff, I’ve been learning it.
could not agree more…i’m 14 too:)
Me too!
13
15
Goede website! Die tekst versies lijken me ook echt een geweldig idee.
Bedankt!
:} I hate it when I can’t understand other people….
Until I… WHIP OUT GOOGLE TRANSLATOR! Huzzah!
HUZZAH!
Hey, really love ur tuts they’re gr8 are u gonna convert it all to C++?
No, I think I’ll do separate things for C++.
I’m 14 as well but I’ve only recently taken an interest in programming. I’ve learnt the basics of Java and have briefly touched on C++.
I’m wondering where you began learning programming. I’ve taken a a bit of a look at your videos and you seem like you really know your stuff.
I have taken a look at some books but I’m not quite certain where to start.
Thanks for your time.
I began computer programming by reading a beginner Java tutorial book published by Sun covering Java 6. I recommend you read ‘Effective Java’ by Joshua Bloch – it really gets into more subtle, yet unquestionably important, details of Java.
Thanks!
Might have to pick that up.
Keep up the good work here as well.
For german people: I also programm in Java and I know a very good java book to learn: “Java ist auch eine Insel” von Galileo Press
Hey, I like your videos. They’re really helpful. I’m to the lighting videos, and I still don’t think your teaching’s found a happy medium, but you’re getting close. I like the website so far. You need to get a favicon though. Keep up the good work!
Ik vroeg me af of je misschien een tutorial kon doen over hoe je bijvoorbeeld “Tiled” kan gebruiken om een platformer te maken met de hulp van Slick. Bij de wiki van Slick staat dan wel een tutorial ik maar ik vind die erg onduidelijk.
Dude I love your tutorials but in tutorial 19 you never explained how to set up TWL. I have been searching for about two hours now and I still cant figure out how to install it.
I replied to your comment on YouTube.
Brilliant tutorials and excellent english
I hope you’ll keep continue your work. Best regards
Nice site, and what’s more important your Tutorials are great.
Best regards
Sorry for spamming but in the future when Your site develop to a bigger one You should consider to use some sort of spamming filter for posting comments. SEO “masters” like defenceless sites. Once again congrats Mr. Genius
Thanks Grog. I will install Akismet.
Really nice Website, and thanks for the LWJGL Tutorials!
You’re fourteen AND a programming genius?
Then I’m not alone…
BTW nice website! Keep it up!
Thanks! Welcome to the realm of geniuses.
Yeah! I`m also not alone!
I just realized that a lot of teenagers program…
Derp moment?
I also realized that.
I’m eleven years old and a programming genius!
Where did you learned the basics of OpenGL?
I learned the basics of OpenGL from a book called the OpenGL SuperBible 5th.
I love your tutorials, they have helped me to learn some of the basics of java, as did Developing Games in Java by David Brackeen. I am using my java knowledge to develop a 3d fps in java called Ruins of Ryth (info availible here: flashc0d3r.tumblr.com). Thank you for the tutorials and keep up the good work!
You’re welcome!
You should make like a forum or something!
I think you got alot of new lwjgl programmers together and you should use that to make an awesome forum!
Yea that is a great idea. Would be interesting to see what ideas “programming genius’s” come up with
It would also be better to store all the comments instead of all over the site but still…loving the website!
Continue the great work.
Thanks! I think that would make thecodinguniverse more community-driven, but that is not what I want.
I think that would interfere too much with the existing LWJGL forum and the Java-Gaming forum. Thanks for the suggestion though.
Hi
‘
I’m 20 years older than you and would not call myself a beginner, but your video tutorials are the most useful and important OpenGL learning guides I’ve ever had the fortune of coming across.
I also learnt something else: that in the future the projects you work on will undoubtedly be awe inspiring.
I’d be really happy to see another tutorial on Octree’s / Voxels / infinite worlds if you get the time or motivation.
Keep up the superb work Oskar, and I hope that you have a very happy New Year
Thanks for the kind words! I’m currently working on terrain generation; I’ll try and make it infinite. Here’s a link: https://github.com/OskarVeerhoek/YouTube-tutorials/blob/master/src/episode_35/TerrainDemo.java.
About my praise, well compliments where compliments are due!
I’ve had a look at the link and the code you’ve produced is very interesting. I’m assuming the video will come soon,a s your series is up to 34
I noticed the use of immediate mode (glBegin / glEnd) is this simply a fallback option as per your shader tutorial? It would be useful to see this physically documented in the source of so (but please correct me if this is an OpenGL 1 only technique).
I’m also looking forward to hearing your explanations of glBeginList as I’ve not come across that command before.
Moreover, the use of input stream, buffered image and decoder data structures looks set to make a very interesting view, when will the video drop?
On the topic of byte buffers, I’ve heard that they also lend themselves to loading 3D models with optimal speed, particulary for mobile devices, as per NinevehGL (http://nineveh.gl/). Have you accomplished this yourself?
PS If you prefer, I will email you in future
The use of glBegin and glEnd is not a fallback option. Note that you can freely use shaders in conjunction with any supported rendering mode: display lists, immediate mode, Vertex Arrays, and Vertex Buffer Objects.
glBeginList is used for display lists, which were deprecated in version 3.0. As such, you usually only use display lists in version 1 and 2, whereas in version 3 and 4 you would use Vertex Buffer Objects (VBOs).
I cover display lists in episode eighteen of the LWJGL Tutorials series: http://www.youtube.com/watch?v=oTqFgYR3Fvs.
I expect the terrain video to be up before the next weekend.
PS: Emails would probably be a bit easier to answer.
*It would be useful to see this physically documented in the source if so
… Perhaps with a simple comment before glBegin, just as a reminder?
I added some comments that should hopefully clarify it.
Oh, I just reliased that glBeginList is for display lists. I thought that VBO’s were the more modern way of doing this? Is this also a fallback option, and if so can I recommend a comment on the code again
Okay. I added a TODO to the code.
Ignore the above: I just noticed 2 things..
1)You provide 1 to 1 tutoring, and I am sending an email now!
2)You use display lists for certain cases like static geometry.
I hope that you”ll have enough time to tutor me over the year ahead
Next time I should watch for newer comments. I already replied to the your previous one.
I replied to your email, thanks for your interest.
Very good – that’s exactly what to use display lists for!
You’re only 14! Damn man, i’m 15 and don’t know half of the stuff you know.
thecodinguniverse.com is genius, i love it
[url=http://bimbomaker.tumblr.com/]bimbos
[/url]
Thanks!
Hey Oskar. Your OBJLoader class is not flexible enough to load any obj model. It could not read the files i tried to throw at it. Anyways, great tutorials!
Have you tried re-exporting the OBJ-file through Blender?
The re-export resulted in this: “OBJ file contains line which cannot be parsed correctly: mtllib untitled.mtl.” After removing all “mtl” references i got an ArrayIndexOutOfBoundsException at -2. The same error occurred when using the the cube that appears at the startup of Blender. The functionality of the OBJLoader is not important to me because I’m going to be writing a different file reader for voxel sprites.
Derp, I just found your loadTexturedModel() method, but that doesn’t explain the IndexOutOfBounds error.
Oskar,
Have you ever tried any ios development?
凄いです!日本語ができますか? ペニスを入ってください!