30 open-source projects similar to ssloy/tinyrenderer, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Tinyrenderer alternative.
This project is an educational platform and technical reference for learning real-time graphics programming through the development of custom shaders. It provides a comprehensive guide to the programmable graphics pipeline, offering a collection of tutorials and interactive examples that demonstrate how to manipulate coordinate spaces, manage buffer data, and implement complex rendering techniques in 3D environments. The repository distinguishes itself as a versatile toolkit for both photorealistic and non-photorealistic rendering. It includes modular implementations for stylized aesthetics s
webgl-fundamentals is a comprehensive educational resource and graphics tutorial for learning hardware-accelerated 2D and 3D rendering using the WebGL API. It serves as a structured 3D graphics curriculum and GPU programming reference, guiding users through the graphics pipeline from basic geometry to advanced rendering techniques. The project provides detailed guides on GLSL shader development, including the creation of vertex and fragment shaders. It specifically focuses on the implementation of real-time lighting models—such as directional, point, and spot lighting—and the application of s
This project is a cross-platform graphics and compute framework that provides a unified, hardware-agnostic abstraction layer for rendering and parallel processing. It enables developers to build high-performance applications that execute consistently across diverse operating systems and hardware backends, including Vulkan, Metal, and DirectX. By mapping high-level graphics commands to native APIs, it serves as a portable foundation for both real-time 3D rendering and general-purpose GPU computing. The framework distinguishes itself through a robust architecture that supports both native deskt
LibGDX is a Java-based framework designed for cross-platform game development, enabling the creation and deployment of 2D and 3D games across desktop, mobile, and web environments from a single codebase. It functions as a comprehensive library that abstracts hardware-accelerated graphics, audio, input, and file system access, providing a unified interface for developers to manage game logic and application lifecycles. The framework distinguishes itself through a high-performance architecture that prioritizes efficiency and native interoperability. It utilizes a batch-oriented graphics pipelin
This project is a ray tracing engine and C++ rendering project designed to simulate the physical behavior of light to generate 2D images from 3D scenes. It serves as a computer graphics tutorial and educational implementation intended to teach the fundamental mathematical and algorithmic principles of 3D graphics programming. The implementation focuses on the foundations of light transport and scene geometry. It utilizes Whitted-style recursive raytracing to simulate reflections and employs Lambertian diffuse shading to calculate surface brightness. The engine handles 3D scene rendering thro
Manim is a Python-based computational geometry framework designed for programmatic video production. It functions as a mathematical animation engine, allowing users to generate high-fidelity visual content by scripting scene definitions rather than using traditional timeline-based editing software. The library is built to translate code-based instructions into precise, frame-accurate animations, making it a tool for explaining complex mathematical functions, geometric proofs, and abstract theories. The engine distinguishes itself through a declarative scene graph that organizes visual element
This project is a header-only C++ library designed for graphics mathematics, providing a comprehensive suite of vector, matrix, and quaternion types. It is built using template metaprogramming to generate mathematical primitives at compile time, eliminating the need for precompiled binary libraries and allowing for direct integration into existing build systems. The library is distinguished by its strict adherence to the OpenGL Shading Language specification, ensuring that mathematical results remain consistent across both CPU and GPU code. It provides specialized utilities for managing float
This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex
Plotters is a data visualization library for the Rust programming language used to create 2D and 3D charts, plots, and mathematical visualizations. It functions as a multi-backend rendering engine and coordinate mapping framework that translates raw data values into pixel coordinates through customizable chart contexts. The library distinguishes itself through its ability to export graphics to multiple formats, including SVG, BitMap, and HTML5 canvas. It provides specific capabilities for 3D graphics plotting, featuring adjustable camera viewpoints and projection matrices to manage spatial da
nalgebra is a linear algebra library for Rust that provides matrix and vector operations with support for both compile-time and runtime dimensions. It functions as a numerical analysis library and a sparse matrix library, offering a mathematical framework capable of running in embedded environments and WebAssembly without requiring the Rust standard library. The project distinguishes itself as a geometric transformation library, utilizing homogeneous coordinates, quaternions, and isometries to handle 3D rotations, translations, and projections. It implements a variety of matrix decompositions
This project is a comprehensive educational resource and knowledge base designed to guide developers through the technical requirements of a career in game programming. It functions as a structured curriculum that organizes essential engineering principles and mathematical foundations into a logical roadmap, facilitating a clear progression from foundational concepts to advanced system mastery. The repository serves as a centralized hub for navigating the multidisciplinary domains of interactive software development. It provides curated references and learning materials across core areas incl
Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL. The project is distinguished by its single-header implementation, which simplifies integration and portability. It utilizes a stateless render pass definition and a one-update-per-frame model to synchronize CPU data to GPU memory and manage resource lifecycles
This project is a ray tracing reference implementation and educational resource for building a Monte Carlo path tracer from scratch. It serves as a guide for physically based rendering, demonstrating how to simulate the behavior of light and materials to create realistic images. The implementation includes a spatial hierarchy accelerator to optimize intersection tests and a system for generating images in the portable pixmap format. It provides a community reference library of implementations across various programming languages and distributes complete source code archives for study. The pr
DirectXShaderCompiler is an HLSL shader compiler that transforms High-Level Shader Language source code into intermediate language formats executable by GPUs. It functions as a shader bytecode validator to verify the correctness and hardware compatibility of compiled representations and as a software shader rasterizer for rendering when physical graphics hardware is unavailable. The project includes a translation tool that converts HLSL shader code into the SPIR-V binary intermediate representation for use with cross-platform graphics APIs. It also provides capabilities for legacy shader migr
This repository serves as an educational resource for developers learning mobile and embedded graphics programming. It provides a collection of tutorials and instructional code examples focused on implementing rendering techniques using the OpenGL ES graphics interface. The project covers the fundamental components of the graphics pipeline, including shader-based programmable stages, matrix-based coordinate transformations, and texture mapping. It also demonstrates practical techniques for managing graphics hardware, such as vertex buffer streaming, state management, and depth-buffer hidden s
Filament is a real-time physically based rendering engine designed for high-fidelity 3D graphics. It functions as a cross-platform graphics library that provides a unified interface for rendering complex models and materials across desktop, mobile, and web environments. The engine distinguishes itself through a data-oriented architecture that optimizes memory usage and processing speed, alongside a shader-variant system that generates specialized code for specific material and lighting configurations. By abstracting diverse hardware graphics backends, it ensures consistent visual performance
OpenSeadragon is a JavaScript library and tiled image rendering engine designed for high-resolution image viewing. It functions as a deep zoom image viewer that renders massive images using a tiled pyramid approach, enabling smooth panning and zooming without requiring the full image file to be loaded. The project distinguishes itself through broad support for standardized image retrieval protocols, including the International Image Interoperability Framework (IIIF), IIPImage, Iris, and OpenStreetMap. It provides a hardware-accelerated rendering layer via WebGL to apply real-time filters and
This project serves as a comprehensive educational framework and reference library for mastering high-performance graphics programming and parallel compute resource management. It provides a collection of practical implementations designed to demonstrate the explicit control required by the Vulkan API, covering the fundamental mechanics of modern graphics pipelines and cross-platform hardware interaction. The repository distinguishes itself by focusing on the low-level architectural requirements of modern GPU development, including manual memory allocation, multi-threaded command recording, a
Phaser is a comprehensive 2D game engine designed for building high-performance, interactive content that runs directly in web browsers. At its core, the engine utilizes a fixed-timestep simulation loop that decouples game logic from variable browser frame rates, ensuring consistent behavior across diverse hardware. It provides a robust framework for managing asset loading, physics, input, and audio, enabling the creation of complex, responsive visual experiences for both desktop and mobile devices. The engine distinguishes itself through a high-performance graphics pipeline that automaticall
This project is a game development knowledge base and technical reference focused on real-time rendering, computer graphics, and GPU programming. It serves as a study guide for game programming, providing a curated collection of notes and documentation on graphics theory. The repository covers educational resources for game engine development, specifically addressing software engineering practices and design patterns. It includes structured references for programming languages and tools used in professional game development to improve performance and image quality. The content is stored as m
This repository is a comprehensive collection of reference implementations and sample libraries for the Universal Windows Platform. It provides practical examples of how to use Windows Runtime APIs to build cross-device applications, including detailed guidance on XAML-based declarative user interfaces and DirectX-integrated rendering. The project distinguishes itself by providing a wide array of hardware integration suites, covering low-level communication with USB, Serial, I2C, SPI, and GPIO peripherals. It includes specialized implementations for mixed reality holographic rendering, advanc
olcPixelGameEngine is a cross-platform pixel game engine and rendering library designed for building two-dimensional games, simulations, and algorithm visualizations. It provides a framework for rendering graphics on a per-pixel basis across multiple operating systems. The project functions as an embedded UI framework, allowing for the creation of interactive interface elements and the management of user input within a pixel-based visual environment. It is used for pixel art rendering and the development of cross-platform graphics prototypes.
Ogre is a high-level 3D rendering engine designed for creating games, simulations, and visualizations without requiring low-level graphics API code. It functions as a framework for real-time 3D graphics processing, providing a physically based renderer to simulate lifelike surfaces and lighting. The engine includes specialized systems for skeletal animation to control character movement and a terrain generation system for producing large textured landscapes. These features are supported by automatic levels of detail and distance-based mesh management to maintain performance. The project cove
Hazel is a C++ game development framework and 3D graphics rendering engine designed for building high-performance interactive software. It provides a foundational architecture that enables the construction of desktop applications through native hardware acceleration. The project includes a dedicated game engine editor that allows for the design and testing of interactive 3D and 2D scenes within a unified environment. This editor utilizes an immediate mode interface to maintain synchronization with the engine state, while a hardware-agnostic abstraction layer handles rendering commands across
This project is a deep learning implementation library and neural network theory repository. It translates mathematical derivations from textbooks and literature into functional Python code to demonstrate how deep learning algorithms work. The codebase focuses on low-level algorithm implementation by using numerical libraries instead of high-level deep learning frameworks. This approach maps theoretical mathematical proofs to executable functions to verify principles and expose the underlying arithmetic and data flow of neural networks. The project covers the implementation of deep learning
Clay is a header-only layout engine designed for C and C++ applications that computes element positions and dimensions using a declarative box model. By operating as an immediate-mode framework, it calculates interface geometry dynamically on every frame, allowing for the creation of responsive and fluid user interfaces without maintaining persistent state. The library functions as a platform-agnostic tool that decouples layout logic from specific graphics backends. It provides a flexible coordinate system that supports layered elements, such as modals and tooltips, alongside standard documen
This project is a machine learning algorithm reference and implementation guide that provides theoretical foundations and code for supervised learning, deep learning, and natural language processing. It serves as a comprehensive toolkit for implementing predictive models and a technical reference for algorithm engineering. The project focuses on ensemble learning frameworks, including the construction of decision trees, random forests, and gradient boosting models. It also functions as a probabilistic graphical model library and an NLP algorithm reference, with specific implementations for se
This project is a reference collection of statistical learning algorithms built from scratch using NumPy for linear algebra and matrix operations. It serves as an educational resource for studying the mathematical foundations and inner workings of machine learning models through manual implementations. The codebase provides hand-coded implementations of both supervised and unsupervised learning. This includes classification and regression models such as support vector machines, decision trees, and Naive Bayes, as well as data clustering and pattern discovery methods like k-means and hierarchi
This repository is a collection of foundational machine learning models and predictive analysis tools designed for the study of statistical learning methods. It serves as an educational resource that demonstrates the mathematical principles of classic algorithms through direct, first-principles implementation. The project distinguishes itself by constructing models from the ground up, relying on fundamental linear algebra and calculus operations rather than high-level abstraction frameworks. Each algorithm is organized into modular, standalone scripts that mirror the sequence of mathematical