QuadRay engine is a realtime raytracing project aimed at full SIMD utilization
on ARM, MIPS, POWER and x86 architectures. The efficient use of SIMD is achieved
by processing four rays at a time to match SIMD register width (hence the name).
The rendering core of the engine is written in a unified SIMD assembler
allowing single assembler code to be compatible with different processor
architectures, thus reducing the need to maintain multiple parallel versions.

At present, Intel SSE/SSE2/SSE4 and AVX/AVX2/AVX-512 (32/64-bit x86 ISAs),
ARMv7 NEON/NEONv2, ARMv8 AArch32 and AArch64 NEON, SVE (32/64-bit ARM ISAs),
MIPS 32/64-bit r5/r6 MSA and POWER 32/64-bit VMX/VSX (little/big-endian ISAs)
are mostly implemented (/w horizontal reductions) although scalar improvements,
wider SIMD vectors with zeroing/merging predicates in 3/4-operand instructions
are planned as extensions to current 2/3-operand SPMD-driven vertical SIMD ISA.

See README file.

Features

  • ======= RooT demo features =======
  • Move/rotate camera with W,A,S,D + arrow keys
  • Print state (to dump) of all objects in the scene (on F1/'I')
  • Runtime toggling of antialiasing (on F2/'2')
  • Runtime cycling through cameras (on F3/'3')
  • Runtime saving (to dump) of BMP screenshots (on F4/'4')
  • Runtime toggling of FPS logging (on F5/'L')
  • Runtime switching of SIMD targets (F6/'6', F7/'7', F8/'8')
  • Runtime scene selection (F11/'1'), hide nums (F12/'5')
  • Multi-threading support with core-count (df: 120 threads)
  • Multi-group affinity for Windows threading (> 64 threads)
  • Fullscreen support on Linux, macOS and Windows (-w 0)
  • Offscreen rendering support for benchmarking (-o or '0'/'O')
  • Pause mode (-p or 'P'), update/render stages (-u n or '9'/'U')
  • Quake mode (-q or 'Q'/'T'), frames in update (-m n or 'E'/'Y')
  • Refer to VERSION file (section 0.6.7) for cli options
  • ======= QuadRay core features =======
  • Full set of plane + quadric solvers
  • Custom clipping (with surface), boolean ops
  • Full geometry transform (hierarchical)
  • Basic RGB texturing for planes, no UV-mapping yet
  • Ambient + diffuse + specular + attenuation lights
  • All lights are colored points with infinite range
  • Hard shadows (opaque) from all light sources
  • Reflections/refractions + translucency, Fresnel (df: off)
  • Fullscreen 2x/4x antialiasing, Gamma correction (df: off)
  • Tiled scanline rendering, custom tree-like accelerators
  • Statically-linkable data format (C/C++ structs)
  • Programmable animators for all objects (below root)
  • 8 registers deep SIMD rendering pipeline (core/tracer)
  • Preliminary support for path-tracer with SIMD buffers
  • Written in UniSIMD assembler

Project Samples

Project Activity

See All Activity >

Categories

3D Rendering

License

MIT License

Follow QuadRay-engine

QuadRay-engine Web Site

Other Useful Business Software
Get Avast Free Antivirus with 24/7 AI-powered online scam detection Icon
Get Avast Free Antivirus with 24/7 AI-powered online scam detection

Get protection for today’s online threats. Free.

Award-winning antivirus protection, as well as protection against online scams, dangerous Wi-Fi connections, hacked accounts, and ransomware. It includes Avast Assistant, your built-in AI partner, which gives you help with suspicious online messages, offers, and more.
Free Download
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of QuadRay-engine!

Additional Project Details

Operating Systems

Linux, Maemo, Mac, Windows

User Interface

X Window System (X11), Win32 (MS Windows)

Programming Language

C++, Assembly

Related Categories

C++ 3D Rendering Software, Assembly 3D Rendering Software

Registered

2013-07-05