2011-07-15

Super Bible

I recently installed (again) Visual C++ 2008 Express Edition, downloaded the Super Bible demo library from their site and started going through the OpenGL SuperBible 5th Edition chapter by chapter and picking apart the demos (as they do in the book).

On chapter 3 currently. Lately, I've been coding in PyOpenGL, so C++ OpenGL is quite different, plus the SuperBible utilizes its own GLTools library (early in the book especially) to simplify the learning curve, but I'm finding it quite a nice refresher and it's so nice to have all of the demos right there and working perfectly inside VC 2008 Express. Too be able to pick apart the code, mess with it, copy from it, and watch it run on the fly is invaluable. Highly recommended. Man if only we'd had such a luxury when we (that is me and my colleagues in Intro to Game Physics) were humping our happy asses up 3D Buzz mountain without any documentation to speak of! Gack! WHY Buzz and Joel? WHY!!!?

2011-07-11

Installing PyOpenGL-3.0.1 in Ubuntu 10.04 LTS

Why couldn't I find this in the first 6 hours of searching???

http://docs.python.org/release/3.0.1/download.html

And right there at the "Cheese Shop" too... aye aye yae! The instructions for installing were on page 8 of the 50 page document.

(*note: if you are seeing this for the first time be sure and install the necessary dependencies [see below], AND remove any former installations of PyOpenGL, such as PyOpenGL-3.0.0 before continuing)

All I had to do was download the tarball from http://www.python.org/ftp/python/3.0.1/Python-3.0.1.tar.bz2

Move it to /usr/local/src

Right click on it and choose "extract here".

Open a terminal and type:

cd /usr/local/src/PyOpenGL-3.0.1

Then:

sudo python setup.py install

Entered my password and watched it go.

Just like that I was back in business and running the afore mentioned demo on my other machine.

I should throw in a caveat here. I did in fact first install Numpy, PIL, and GLUT as dependencies already, for when I was running PyOpenGL-3.0.0. These all have executable "instant" installers available so long as you are running python 2.6. Find them here.

To remove former installation PyOpenGL-3.0.0 I just opened Synaptic Package Manager (System/Administration/Synaptic Package Manager) searched for "pyopengl", right clicked on "...3.0.0" when it showed up, and selected "Remove Completely".
=============================================

An Ubuntu link that also may be helpful on troublesome tarball installs:
https://help.ubuntu.com/community/CompilingEasyHowTo

2011-07-10

A Simple PyOpenGL-3.0.1 Shader Demo

Alright. Here is that code that I mentioned in an earlier post. Know that you will need to install Python 2.6 and PyOpenGL-3.0.1 in order to run this code. It takes advantage of the new shader convenience module found in 3.0.1. This helped make switching shaders on the fly much easier to implement. Type "," or "." to page through shaders. "n" to toggle normals from "averaged" to "flat". When viewing "no shader" hit "1" or "2" to toggle light0 and light1 on/off respectively. Oh, and can't forget, "r" to start the spheres rotating. The sphere on the left is a glutSolidSphere, the one on the right is a sphere built from a .msh file that Mike wrote.

Look through the code! I hope it's helpful to someone, somewhere.

rendersphere.py
sphere1218.msh

PS. I may update this later and include more information on the dependencies and/or installing the correct versions of PyOpenGL... etc.

PyOpenGL-3.0.1 is only available as a tarball and/or .bz2 package. So... check
out my later post http://ultraopengl.blogspot.com/2011/07/installing-pyopengl-301.html for info on installing it.

2011-07-08

NETFLIX ON OPTIMUS V!!! (link I found)

My cell wasn't charging on any charger I could find. I was about to panic. I was searching for sites concerning the issue while I reset the phone and I found THIS!!! My phone is fine now that I turned it off and took the battery out, btw. smiles...

http://lgoptimusv.info/2011/06/netflix-work-lg-optimus-v-no-roo/#more-1311

My thanks to Rock That LG Optimus V for the info.

Reminder to myself

Post the code that we worked up for the simple shader comparison tool in PyOpenGL. Why not share the knowledge with other beginners?! Good stuff. When we get deeper in I may not want to share all of our tricks, or I might not care... not sure, but, on this level, I KNOW I am hungry searching for good code and it is so hard to find, so, in good conscience, I just gotta do it. Unfortunately, I don't have it on hand. Thus, the reminder post. I'll erase this later. Peace. (as if anyone is reading this lol)

PS. What I am referring to above is that I got a few simple shaders working on Mike and I's sphere demo thing. Phong, multiple light phong, toon, point light. Basic stuff. Also we added the ability to swap out shaders on the fly to see the difference. Mike created triangle mesh sphere from scratch complete with proper VBO's to house the vertices and normals. He also created a version that has what he's calling "averaged normals". It makes a polyhedron (in this case shaped much like a sphere) appear smoother and rounder as if made from exponentially more triangles. Awesome technique. So know we have this demo thing where we can test new shaders and play around with GLSL and OpenGL. Next, come more complicated shaders, then textures, then effects... etc...

2011-07-05

Installing PyOpenGL in Windows XP

I'm going to post this as is. I kept a record on notepad as I went. It ain't exactly a tutorial. Just a weB LOG of figuring out what to do!

Used this site as a reference point, (among others):
http://pyopengl.sourceforge.net/documentation/installation.html

It's sourceforge, so I tend to trust it, but I think it's wicked old...
BTW I am on my sister's family PC... ;) (stuck here dog-sitting)

Here's the rest:

Started just after 2:30am or so...

Installed (In Order):
python-2.7.2
PyOpenGL-3.0.1.win32

*could NOT install PyOpenGL-accelerate-3.0.1.win32-py2.6
because it requires Python 2.6 precisely.

- tried to install numpy-1.6.1rc2-win32-superpack-python2.6 (Numeric Python), but it
too requires 2.6.
-Downloaded the tarball file for Python 2.6.7 (Python-2.6.7.tar.bz2)j
-Downloaded and installed 7Zip.
-extracted the bz2 and then unzipped to the program files folder
- ^that did not work... apparently I need to use makefiles etc... and I'm not about to get into that whole process blind. Couldn't find any tutorials/instructions or forum chatter so...
-Downloaded MSI installer for Python 2.6
-^installed
-installed Numpy (see above)
-downloaded and installed PIL-1.1.7.win32-py2.6

(http://www.pythonware.com/products/pil/index.htm#pil117)
-Tried to install GLUT, but then realized that it SHOULD be included with the PyOpenGL
install (according to: http://pyopengl.sourceforge.net/documentation/installation.html)
-Downloaded PyGame installer for 2.6 (pygame-1.9.1.win32-py2.6) and installed.
-Installed PyOpenGL-3.0.1.win32
-Installed PyOpenGL-accelerate-3.0.1.win32-py2.6
-Installed Numpy

#will ANY OF THIS S#!T WORK? God knows...

It DID NOT appear to work (when I tried to run some Rubik's Cube/NEHE based code I found I got lots of discouraging errors, especially involving OpenGL calls and Numpy)

GACK!!!

Uninstalled everything I could find and re-installing... hopefully in the proper order this time...? (At least I already have all the installers found and dl'd)
4:31am

-Downloaded updated drivers for this crappy Intel video chipset on AK's PC and installed'em
-Restarting PC now
-Re-installed Python 2.6
-Downloaded and installed OpenGL Extensions Viewer 3.37
-It says that OpenGL 1.4 is the version on this PC
-Installed numpy-1.6.1rc2-win32-superpack-python2.6
-Installed PIL-1.1.7.win32-py2.6
-Installed PyOpenGL-3.0.1.win32 (which supposedly contains GLUT and GLE)
-When attempting to install PyOpenGL-accelerate-3.0.1.win32-py2.6 I got a pop up error
window. FAILED TO INSTALL ^^^^
-Spent an hour or so bouncing around the net like a fly caught in a spider web... googling
"pyopengl nehe" over and over in different forms

-FINALLY found http://pypi.python.org/pypi/PyOpenGL-Demo
-This package contains most of the NEHE lessons ported to PyOpenGL
-Ran Lesson 5 and it worked!!! yay!!!

TOMORROW I work on getting the tune shader working AND THEN phong...
5:45am Ouch...