MCPcopy Index your code
hub / github.com/carl-vbn/pure-java-raytracer

github.com/carl-vbn/pure-java-raytracer @1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0 ↗ · + Follow
172 symbols 442 edges 23 files 7 documented · 4% updated 4y ago1.0 · 2021-04-07★ 138
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

pure-java-raytracer

An experimental Ray tracer I made completely from scratch, without any external libraries.
This program was made for testing/learning purposes only, which is why it runs mostly single-threaded on the CPU.
I covered the development of this engine in this video on my YouTube channel.
video_thumbnail

Features:

  • Diffuse lighting
  • Specular lighting
  • Ray-traced shadows
  • Ray-traced recursive reflections
  • HDRI Skybox rendering
  • Bloom post-processing effect
  • Image rendering (any resolution)
  • Animated image sequence rendering (any resolution, any framerate)

Rendered images will be saved as output.png in the execution directory of the program and image sequences will be saved inside the image_sequence folder in the execution directory.

Core symbols most depended-on inside this repo

add
called by 53
src/carlvbn/raytracing/math/Vector3.java
getHeight
called by 24
src/carlvbn/raytracing/pixeldata/PixelBuffer.java
addSolid
called by 17
src/carlvbn/raytracing/rendering/Scene.java
getWidth
called by 16
src/carlvbn/raytracing/pixeldata/PixelBuffer.java
subtract
called by 15
src/carlvbn/raytracing/math/Vector3.java
multiply
called by 15
src/carlvbn/raytracing/math/Vector3.java
getPosition
called by 12
src/carlvbn/raytracing/rendering/Light.java
getY
called by 10
src/carlvbn/raytracing/math/Vector3.java

Shape

Method 149
Class 23

Languages

Java100%

Modules by API surface

src/carlvbn/raytracing/math/Vector3.java22 symbols
src/carlvbn/raytracing/gui/Viewport.java19 symbols
src/carlvbn/raytracing/pixeldata/Color.java14 symbols
src/carlvbn/raytracing/pixeldata/PixelBuffer.java12 symbols
src/carlvbn/raytracing/rendering/Camera.java11 symbols
src/carlvbn/raytracing/solids/Solid.java9 symbols
src/carlvbn/raytracing/rendering/Scene.java8 symbols
src/carlvbn/raytracing/rendering/Renderer.java8 symbols
src/carlvbn/raytracing/rendering/Skybox.java7 symbols
src/carlvbn/raytracing/pixeldata/PixelData.java7 symbols
src/carlvbn/raytracing/pixeldata/GaussianBlur.java7 symbols
src/carlvbn/raytracing/math/RayHit.java6 symbols

For agents

$ claude mcp add pure-java-raytracer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact