diff options
author | Joshua Rahm <joshua.rahm@colorado.edu> | 2014-03-19 01:05:20 -0600 |
---|---|---|
committer | Joshua Rahm <joshua.rahm@colorado.edu> | 2014-03-19 01:05:20 -0600 |
commit | 1f2c14738f551fc902ba915d84f0515778a7ed4d (patch) | |
tree | b37689c39b0e31666b77fbfff391b0c074370a5c /README | |
parent | 62fa8f93990f6aedaae8242fdde6bba44e434f5f (diff) | |
download | earths-ring-1f2c14738f551fc902ba915d84f0515778a7ed4d.tar.gz earths-ring-1f2c14738f551fc902ba915d84f0515778a7ed4d.tar.bz2 earths-ring-1f2c14738f551fc902ba915d84f0515778a7ed4d.zip |
changed quads to triangles
Diffstat (limited to 'README')
-rw-r--r-- | README | 46 |
1 files changed, 40 insertions, 6 deletions
@@ -1,10 +1,44 @@ -This was a tough one to get to work with Haskell. Apparently pretty much all of the OpenCV Haskell bindings -are broken/half-implemented, so I had to create my own with FFI. +This was a long assignment mostly because I decided to learn vertex buffers +once and for all. This project is 100% delicious Haskell goodness with 0% fixed +pipeline. Everything is OpenGL 4 complient right down to using only triangles, +which means I had all kinds of fun reinventing the wheel reimplementing vector +math and looking up algorithms for creating a lookat matrix using GLM as a +reference. -As usual, I have provided a statically linked binary just in case. +I honestly would not be entirely surprised if I am one of the only people to +actually have accomplished this. Not sure if this is a good thing or a bad +thing, but whatever it is, I managed to put together a proof of concept. -This project took me about 8 to 10 hours to complete. +The good news is that I know not only understand how vertex buffers work, but I +also understand OpenGL much better than I used to. Once I got simple lighting +to work, this project was quite a bit of fun. -make with make +This project is a mimic of the Blue Marble example, except with some +adjustments. First, the moon is in the scene as a test to see if I could make +another object in the scene easily. Both the Earth and the Moon are bump +mapped, correctly I think. I pass in a random texture to add randomness to the +shader for when I decide when to turn on and off lights. + +The earth has clouds which rotate faster than the Earth itself so they appear +to be above the surface. The clouds also cast shadows on to the earth (fixed +offset, not actually calculated based on the light vector :-( ) And when the +shadows appear over land, there is a random chance that a light may turn on, +after all, people turn on lights during a storm. + +I also use the noise texture to have each light alternate between two colors +to give the appearance of twinkling. + +I realize the background texture does not move with the camera, this is by +design. I wanted to try to draw a scene with a completely different model view +matrix and projection matrix in the same rendering. It worked. + +To compile run make, run with - ./jora2470_hw7 +./jora2470_hw8 + +Controls: + +UP/DOWN/LEFT/RIGHT: Move camera around center +w/s: zoom in and out. +n: change to random bump map +=/-: speed up/slow down time |