All Projects → thi-ng → Raymarchcl

thi-ng / Raymarchcl

Experimental OpenCL voxel rendering/raymarching via Clojure REPL (from 2013)

Programming Languages

c
50402 projects - #5 most used programming language
clojure
4091 projects

Projects that are alternatives of or similar to Raymarchcl

CVoxelEngine
A C++ Voxel Engine, to succeed my Java Voxel Engine. Uses SDL, and may use OpenCL in the future.
Stars: ✭ 17 (-86.61%)
Mutual labels:  voxel, renderer
voxel-raycaster
Hardware accelerated voxel ray marching
Stars: ✭ 30 (-76.38%)
Mutual labels:  opencl, voxel
Voxel Cone Tracing
A real-time global illumination implementation using voxel cone tracing. Implemented in C++ and GLSL.
Stars: ✭ 555 (+337.01%)
Mutual labels:  renderer, voxel
F Render
f-render | 基于 ElementUI 的表单设计器
Stars: ✭ 1,387 (+992.13%)
Mutual labels:  renderer
Hashcat
World's fastest and most advanced password recovery utility
Stars: ✭ 11,014 (+8572.44%)
Mutual labels:  opencl
Unityvoxfileimport
🌈 A tool to import a .vox file for Unity's GameObject and Prefab
Stars: ✭ 116 (-8.66%)
Mutual labels:  voxel
Vox4u
MagicaVoxel VOX Format import plugin for Unreal Engine 4
Stars: ✭ 123 (-3.15%)
Mutual labels:  voxel
Ngx Quill
Angular (>=2) components for the Quill Rich Text Editor
Stars: ✭ 1,382 (+988.19%)
Mutual labels:  renderer
Betterspades
BetterSpades, an Ace of Spades client targeted at low end systems (GL/ES 1.1). Runs on your grandmother's rig!
Stars: ✭ 112 (-11.81%)
Mutual labels:  voxel
Voxelsniper
The premiere long-distance brush editor for Minecraft
Stars: ✭ 114 (-10.24%)
Mutual labels:  voxel
Cltune
CLTune: An automatic OpenCL & CUDA kernel tuner
Stars: ✭ 114 (-10.24%)
Mutual labels:  opencl
Render
Universal data-driven template for generating textual output, as a static binary and a library
Stars: ✭ 108 (-14.96%)
Mutual labels:  renderer
Voxel Dcgan
A deep generative model of 3D volumetric shapes
Stars: ✭ 117 (-7.87%)
Mutual labels:  voxel
Voxelman
Plugin-based client-server voxel game engine written in D language
Stars: ✭ 105 (-17.32%)
Mutual labels:  voxel
Commonmark Java
Java library for parsing and rendering CommonMark (Markdown)
Stars: ✭ 1,675 (+1218.9%)
Mutual labels:  renderer
Openclga
A Python Library for Genetic Algorithm on OpenCL
Stars: ✭ 103 (-18.9%)
Mutual labels:  opencl
Gamemaniptutorial
A tutorial for manipulating the rendering of a game (generally to increase its quality) if you only have a binary available
Stars: ✭ 119 (-6.3%)
Mutual labels:  renderer
Tf2
An Open Source Deep Learning Inference Engine Based on FPGA
Stars: ✭ 113 (-11.02%)
Mutual labels:  opencl
Opengametools
A set of open c++ game development tools that are lightweight, easy-to-integrate and free to use. Currently hosting a magicavoxel .vox full scene loader.
Stars: ✭ 112 (-11.81%)
Mutual labels:  voxel
Spoc
Stream Processing with OCaml
Stars: ✭ 115 (-9.45%)
Mutual labels:  opencl
  • thi.ng/raymarchcl

[[./assets/gyroid-metal75.jpg]]

Experimental OpenCL voxel rendering/raymarching via Clojure REPL.

** Usage

#+BEGIN_SRC shell git clone [email protected]:thi-ng/raymarchcl.git cd raymarchcl lein repl #+END_SRC

*** Prepare test voxel data

#+BEGIN_SRC clojure (require '[thi.ng.raymarchcl.core :as rm]) (require '[thi.ng.raymarchcl.generators :as gen]) (require '[thi.ng.raymarchcl.io :as vio])

;; generates a 134MB binary file in project root for later reference (vio/save-volume "gyroid-512.vox" 512 (gen/make-gyroid-volume {:vres [512 512 512]})) #+END_SRC

*** Rendering from the REPL

#+BEGIN_SRC clojure (rm/test-render :width 640 :height 360 :iter 1 :vres 512 :vname "gyroid-512.vox" :mat :orange-stripes :theta -45 :dist 2.25 :dof 1e-5 :out-path "out.jpg") #+END_SRC

Important note: Increase the =:iter= count for better quality images!

Material presets are defined in the [[./src/thi/ng/raymarchcl/materials.clj][materials namespace]], currently only:

  • =:orange-stripes=
  • =:metal=
  • =:metal2=
  • =:ao=

Different voxel value bands are mapped to different materials within each preset.

** Gallery of selected experiments

*** Stanford Dragon

[[./assets/dragon-refl16.jpg]]

[[./assets/dragon2.jpg]]

*** Stanford bunny

[[./assets/bunny-normsmooth-16spp-2.jpg]]

*** Gyroid isosurface

The next two images were rendered w/ 100 iteration to reduce DOF noise

[[./assets/gyroid-100spp-2.jpg]]

[[./assets/gyroid-100spp.jpg]]

[[./assets/gyroid-2.jpg]]

[[./assets/gyroid-25spp.jpg]]

[[./assets/gyroid-dof-corner.jpg]]

[[./assets/gyroid-dof0.025.jpg]]

[[./assets/gyroid-res224-dof0.025.jpg]]

*** NVidia Tesla on EC2

These images were rendered using Tesla instances on AWS EC2 (back in 2013)

[[./assets/gyroid-metal-dof8.jpg]]

[[./assets/gyroid-tesla.jpg]]

** License

Copyright © 2013 - 2015 Karsten Schmidt

Distributed under the Apache Software License 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].