/Computer-Graphics

Rasterization, Ray Tracing, WebGL, Lighting, Terrain Generation, Texture Mapping, Sphere Collision

Primary LanguageJavaScript

Computer Graphics

This is a computer graphics side project that includes various implementations related to rasterization, webGL, lighting, terrain generation, texture mapping, sphere collision, and a ray tracer. The project aims to provide a practical learning experience and showcase different aspects of computer graphics.

Ray-Tracer

Implemented simple ray-tracer in Python, optimized with BVH (Bounding Volume Hierarchy). It could handle depth of field effect, shadows, lighting, to render shiny object, rough-surface object, and so on.

image

mpray_plane mpray_rough mpray_dof

WebGL

Implemented lighting, model-view-projection, texture, and so on.

Illini Logo Animation

IlliniLogo.mp4

Sphere Collision Simulation

sphere-collision.mp4

Terrain Generation (Faulting Method)

terrain-generation.mp4

Texture Mapping

texture-mapping.mp4

Rasterizer

Implemented rasterizer in Python. Handled DDA, Depth Buffer, perspective interpolation.

mp1rgba mp1billboard mp1hyp mp1depth