Saturday, September 10, 2005

Graphics Programming with OpenGL

Well, I've been spending the last few days really seriously learning the OpenGL API and learning some graphics theory, and I must say that this is truly the most interesting and enjoyable thing to do on the planet. I can't possibly imagine myself now doing anything other than programming, it's great!

So, I learned about setting up a Win32 window that can be used by OpenGL to display the output, and despite the relative tedious nature of this sort of work, I still found it quite interesting to learn how it works, and how to set it up with GL and how to make it modular.

After a while doing and learning that, I learned about the OpenGL primitive types and how to use them within an OpenGL program (I admit, from tinkering I'd already had a good idea of how they worked, but I still learned quite a bit). At this point I'd been easily able render triangles, lines, points(pixel), and polygons with an arbitrary number of verticies. I also learned how to assign colors to the polygons on a per-vertex level. With my knowledge of basic GL primitives, I also learned about how OpenGL handles culling, basically, even though polygons are infinitely thin, both sides are treated seperately in the case of culling, so, I can see how this could be used to selectively set attributes to either face of a polygon or act as a performance optimization by doing culling dynamically with geometry of higher complexity.

I'm extremely tired right now, so I'll halt my OpenGL learning (and my current research engine, where I am implementing what I learn, called the Vortex Engine) for today, but I can't wait to start learning about transformations, GL matricies, fog, lighting and texture mapping. I hope by the end of this month, I will be learning the OpenGL shading language, in order to do truly sophisticated rendering on a per-pixel level, through arbitrary surface programs. I'm excited at the possibility of implementing per-material, per-pixel specular and normal mapped lighting, all being performed completely by the GPU.

That's all for now, I definitely need some sleep...


Ashraf Eassa

2 Comments:

Blogger Sergey said...

Ukraine is one of the best outsourcing locations for softwrae development, and Java is one of its core technologies. I believe this article will provide you with valuable insights and help you to find hire blockchain developers.

2:41 PM  
Blogger Maulik Pandya said...

Top logistics companies are making billions because they have resorted to automation early and have implemented innovative measures before others. However, as the saying goes it’s better late than never! So, even if you are taking late decision to upgrade technology for your logistics business, make sure you partner with an efficient IT Solutions for Logistics Industry.

4:30 AM  

Post a Comment

<< Home