This repository has been archived by the owner on Jul 18, 2018. It is now read-only.
ttvd/cg-shaders
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
COMP 5900 Mykola Konyk, mykola@konyk.org Wed, March 11, 2009 Distributed under MS-RL license. ------------------- Hello! Here's my implementation of Assignment 3. Implementation ---------------- Project is built using 1) OpenGL (GLUT) 2) Nvidia Cg shader library http://developer.nvidia.com/object/cg_toolkit.html#downloads I've tested it on Nvidia Cg 2.0 and 2.1. Project contains an xcode project, as well as a makefile, which should work on mac, linux and cygwin, providing that OpenGL, GLUT and CG libraries are installed. I am not sure about compiling the code on Windows, but you might need to change paths to Cg/GL/Glut in Globals.h file (which is included in the project). About the demo -------------- It's possible to switch between rendering modes by using number keys (1..7), keys (q, w) and right mouse button - this brings up the menu. Moving mouse while holding left mouse button will rotate the object (scene). Rendering modes --------------- 1) Cel shading with world space outline detection (from depth buffer) 2) Cel shading with object space outline detection (from normals) 3) Cel shading without any outline 4) Outline detection (from depth buffer) 5) Phong shading 6) Normal buffer 7) Depth buffer q) Render torus model w) Render teapot model Code ---- All GUI (GLUT) code is contained in GlutApplication.h/cpp RenderTexture.h/cpp contains basic implementation of render texture, using FBOs CgShader.h/cpp - base class for all shaders in this application CgShaderNormal.h/cpp - shader used for rendering normal buffer CgShaderPhong.h/cpp - shader used for rendering phong lightning model CgShaderCel.h/cpp - shader used for rendering cel shading, with or without object-space outline CgShaderOutline.h/cpp - shader used for rendering outline (from depth - buffer) CgShaderCelScreen.h/cpp - shader used for rendering cel with screen-space outline (merges CgShaderCel and CgShaderOutline results) All shader code is loaded from c++ code (using strings instead of loading from external cg files).
About
Old Cg Shader Experiments.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published