Skip to content

larsendt/4830project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

4830 Project Readme - Dane Larsen and Theodore Hoff

How to run:
	./4830project [optional seed (int)]

	We are of the opinion that the default seed is pretty awesome, so you might want to check that out before experimenting.

Controls:
	A/D - pan
	W/S - tilt
	Up Arrow - forward (speed)
	Down Arrow - backward (speed)

	Note on actual movement: if you want to stop moving, it’s faster to cease all input rather than to back up.

Things To Look At (Since the project presentation last week anyways):	
	Reflection/ripples in the water
Skysphere! ( the lighting actually comes from the sun in the sky texture)
	Triplanar shading - finally working (there was a bug in the interleaved data causing the texture coordinates to get flipped around), + there’s a new texture for normals that point in the negative y.
	
Things To Look At In General:
	The cool meshes we made out of voxels!
	Normals that are correct!

Things That You Can’t See, But Are Still There:
	A mostly-working openCL implementation of Marching cubes (set OPENCL to 0 in the src/Types.h file, then recompile and run - this didn’t work on the ATI laptop =( )

Things We Would Have Done With More Time / Planning:
	The hardest (but most valuable) thing we could have done with more time is to fundamentally alter our current mesh object. The Marching Cubes tutorials on the internet that we’ve seen don’t really address the issue of redundant vertices and thus actually connected meshes. Several early attempts at this made the application’s mesh creation 50x slower, and summarily discarded.
	However, with connected meshes in a halfedge or quad-edge format, we can actually complete such operations as Gouraud (or Phong) normal model, or (unrealistic, given the time we had) even apply mesh simplification algorithms.
	Shadows & Ambient Occlusion



How We Did It:
	Marching cubes: http://http.developer.nvidia.com/GPUGems3/gpugems3_ch01.html
Currently, it’s in C++ only. There was going to be an OpenCL implementation, but it has major problems, so it’s turned off
Terrain is internally generated as voxels using 2d and 3d Perlin noise, and then tastefully combined

	…. and we covered a lot of stuff in the project presentation, so just shoot us an email if you need more information.

Enjoy, and thanks for a great semester!

About

Final project for CS 4830

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages