Skip to content

This is a Java 3D renderer using raymarching, with raytracing functionality, textures, skyboxes, and more.

License

Notifications You must be signed in to change notification settings

zanbowie138/Java-Raymarcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JavaRaymarcher

This is a heavily improved version of my original Java renderer with no external libraries, using raymarching, along with many other features.

Capabilities:

  • Raymarching (of course)
  • Currently able to render spheres, planes, and a sphere with a sine displacement (explained later)
  • Light source
  • Able to add many objects, with movement and rotation capability
  • Camera movement with WASD
  • Change colors of objects
  • Ability to add any object with a valid SDF function (also explained later)
  • More accurate lighting using the Phong lighting model (ambient, diffuse, specular)
  • Shadows
  • Textures (sort of)
  • Simple raytracing and reflections
  • Skybox functionality using UV mapping
  • Variable screen-size, resolution, FOV, reflection iterations,

Controls

WASD for camera movement

Showcase

Red sphere - Green plane - Reflections enabled - "curtain.jpg" skybox

Red sphere with sine displacement - Green plane - Reflections disabled - "studio.jpg" skybox

Red sphere with checkers texture - Blue plane - Reflections enabled - "studio.jpg" skybox

TBD

  • Add a GUI
  • Better camera movement
  • Antialiasing
  • Fix skybox
  • Add more shapes
  • Code optimization

About

This is a Java 3D renderer using raymarching, with raytracing functionality, textures, skyboxes, and more.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages