Skip to content

Releases: redcamel/RedGPU

V4.0.0-Alpha

09 Feb 09:50

Choose a tag to compare

RedGPU V4.0.0 Alpha Release Notes

RedGPU V4.0.0 Alpha is a major update featuring native integration of a physics engine, modernization of the IBL system, and a core architectural overhaul for precise layout control. This version focuses on maximizing engine extensibility and ensuring precise control in production environments.


✨ Highlights

  • Rapier WASM Physics Engine Integration: Optimized both performance and build size using a plugin approach decoupled from the core.
  • Hybrid Picking System: Supports next-generation raycasting that combines GPU performance with CPU precision (triangle-level).
  • Smart Size Control: Fully supports worldSize for 3D space and pixelSize modes for UI placement.
  • IBL (Image-Based Lighting) Modernization: Rendering quality has been significantly improved with the introduction of BRDF LUT and an overhauled Prefilter logic.

💎 Simulation & Interaction

Next-Gen Physics Engine Integration

We have introduced a high-level abstraction model to provide powerful physical simulation performance while maintaining the engine's inherent lightweight nature.

  • Flexible Plugin Architecture & Core Separation
    • The physics engine core (Rapier WASM) has been separated from the core bundle, preventing build size increases for projects that do not use physics features.
  • Harmony of Abstract Interfaces and Native Access
    • Consistent implementation is possible through standard interfaces (IPhysicsBody, IPhysicsEngine), and when necessary, you can directly access the original object (nativeBody) to utilize advanced features unique to the physics engine.
  • Rich Physics Features & Practical Controllers
    • Supports various colliders and joint systems including Box, Sphere, Capsule, Mesh, and Heightfield, and provides dedicated character controllers and buoyancy/explosion simulation systems.
  • Key Samples
    • A physics group has been added to the examples page, including over 20 examples covering basics, interactions, joints, and advanced simulations.
image
  • Read the Manual

  • Note: The current physics engine system is provided in an experimental (Alpha) stage, and API refinement will proceed based on future feedback.

RedGPU.Physics.-.Rapier.mp4

Hybrid Picking & Precise Raycasting

By combining GPU performance with CPU precision, we have built a system capable of triangle-level precise collision detection even in large-scale scenes.

  • Introduction of Professional Raycasters (Raycaster 2D/3D)
    • Supports high-level interactions through Raycaster3D for ray casting in 3D world space and Raycaster2D optimized for 2D environments and NDC coordinate backtracking.

    • Raycasting Examples

Raycasting.Precision.Picking._.RedGPU.-.Chrome.2026-02-09.18-17-04.mp4
  • Triangle-level Precision Collision Detection
    • By adopting the Möller-Trumbore algorithm to calculate the intersection points of the ray with the actual triangle planes of the geometry, we guarantee perfect precision beyond the pixel level.
  • Mathematical Foundation & Data Output
    • Instantly provides world/local coordinates, UVs, and face indices during interaction, and exposes the RedGPU.Math.Ray class to allow for direct execution of complex geometric operations.

✨ Rendering & Visuals

Texture UV Transform

Added features to implement sophisticated texture animations simply by controlling material properties.

UV.Transform._.RedGPU.-.Chrome.2026-02-09.13-53-58.mp4
  • Real-time Control of UV Offset and Scale
    • Implement effects like flowing water or moving conveyor belts with optimal performance at the vertex shader stage through textureOffset and textureScale properties.
  • Supported Materials
    • This feature is currently supported by default in BitmapMaterial and PhongMaterial.
  • Key Samples

IBL (Image-Based Lighting) System Overhaul

Rendering quality and performance have been secured simultaneously by modularizing lighting calculation logic and adopting industry-standard models.

Note: There are no changes to the host code (existing usage methods) due to internal IBL improvements.

  • Introduction of BRDF LUT (Look-Up Table)
    • Significantly reduced real-time shader load by pre-calculating and storing complex BRDF data in a dedicated texture.
  • Generalization of Prefilter Logic
    • By isolating filtering logic into PrefilterGenerator, high-quality physical reflection data can be generated from general cubemap sources as well as HDR images.
  • Resource Management Optimization
    • The IBL process has been structured into Irradiance, Prefilter, and BRDF components, allowing for precise control.

🛠 Workflow & Layout

Smart Sizing System

Reflected modern interfaces for a sophisticated 2D-in-3D workflow that meets industry standards.

  • Support for World Size and Pixel Size Modes
    • Introduced worldSize based on 3D space units and pixelSize based on fixed resolution to maximize the convenience of UI and icon placement.
  • Automatic Ratio Correction
    • Applied to Sprite3D, SpriteSheet3D, and TextField3D, it automatically corrects the rendering ratio by analyzing the actual image resolution upon completion of texture loading.
  • Key Samples
image

Multi-View & Flexible Layout System (Multi-View Layout)

Advanced the event architecture for multi-view management within a single canvas and precise resolution handling.

  • Introduction of RedResizeEvent
    • Delivers an object-based RedResizeEvent instead of simply passing width and height when onResize occurs.
    • Simultaneously provides screenRectObject based on CSS pixels and pixelRectObject based on actual GPU rendering pixels.

⚠️ Migration Guide

Math Library Namespace Integration

Organized the mathematical domain that forms the foundation of the engine.

  • Changes: All math-related utilities have been integrated into the src/math/ directory and promoted to the RedGPU.Math namespace.
  • Action Required: Code that previously directly referenced the utils/math path needs to be updated to use the new integrated path (src/math/) or the RedGPU.Math namespace.

V3.9.1-Alpha

27 Jan 12:25

Choose a tag to compare

V3.9.1-Alpha Release Note

This V3.9.1-Alpha release focuses on a complete overhaul of the documentation system and the modularization of the code structure. We have significantly improved the developer experience (DX) by introducing a new manual site based on VitePress and refactoring core engine code for more systematic management.


📚 Documentation

🔗 Quick Links


🛠️ Unified Documentation Platform (VitePress)

  • Fast and intuitive UI/UX with full support for Dark/Light modes.
  • Multilingual system supporting both Korean ([KO]) and English ([EN]).

🤖 AI-Powered API Documentation Automation (Gemini)

  • Leveraged Gemini to extract professional multilingual descriptions from source code comments.
  • Automated generation of high-quality API reference documents using TypeDoc and custom filtering.

📖 Enhanced Manual Content

  • Core Guides: Added "Getting Started" and "Core Concepts" guides for a smoother learning curve.
  • Feature Manuals: Established in-depth conceptual explanations and step-by-step manuals for key features like Antialiasing, Lighting, Post-Effect, and LOD.

🛠 Namespace & Architecture

Redefined namespaces to manage engine features more systematically and improve code accessibility:

  • RedGPU.Bound (New)
    • Modularized Bounding Volume (AABB, OBB) and collision calculation utilities.
  • RedGPU.Antialiasing (New)
    • Separated management for various Antialiasing techniques (FXAA, TAA, MSAA).
  • RedGPU.ToneMapping (New)
    • Modularized Tone Mapping functionality for a more focused rendering pipeline.

redcamel github io_RedGPU_manual_ guide redcamel github io_RedGPU_manual_ redcamel github io_RedGPU_ redcamel github io_RedGPU_manual_ api

V3,9.0-Alpha

14 Jan 11:46

Choose a tag to compare

🚀 RedGPU V3.9.0-Alpha Release Notes

이번 V3.9.0-Alpha 업데이트에서는 렌더링 결과물의 시각적 완성도를 결정짓는 톤 매핑(Tone Mapping) 시스템이 공식 지원됩니다. 고해상도 HDR 데이터를 표준 디스플레이에 맞춰 최적화하고, 노출 및 대비 등을 통합적으로 관리할 수 있는 ToneMappingManager가 도입되었습니다.


🌟 주요 변경 사항

1. ToneMappingManager를 통한 손쉬운 관리

(View instance).toneMappingManager를 통해 씬의 최종 룩(Look)을 직관적으로 제어할 수 있습니다. 특히 업계 표준인 Khronos PBR Neutral을 포함한 4가지 핵심 모드를 기본 제공하여, 간단한 코드 수정만으로도 프로젝트에 최적화된 시각적 결과물을 얻을 수 있습니다.

지원되는 모드 (TONE_MAPPING_MODE)

각 모드는 HDR 데이터를 처리하는 방식이 다르므로, 프로젝트의 의도에 맞는 모드를 선택하세요.

LINEAR (원본) KHRONOS_PBR_NEUTRAL (표준)
Linear Mode Khronos Mode
ACES_FILMIC_HILL ACES_FILMIC_NARKOWICZ
ACES Hill ACES Narkowicz
ABeautifulGame._.RedGPU.-.Chrome.2026-01-14.20-12-49.mp4

live - ABeautifulGame


  • KHRONOS_PBR_NEUTRAL (Default): 색상 왜곡을 최소화하면서 하이라이트의 세밀한 디테일을 보존해 주는 최신 표준 알고리즘입니다.
  • ACES_FILMIC_HILL: ACES 표준의 Hill 근사치를 사용하여, 풍부한 계조와 함께 부드럽고 고급스러운 시네마틱 감성을 제공합니다.
  • ACES_FILMIC_NARKOWICZ: 업계에서 가장 널리 쓰이는 ACES 근사식으로, 강렬한 대비와 세련된 영화적 질감을 즉각적으로 구현합니다.
  • LINEAR: 어떠한 톤 보정도 거치지 않은 원본 렌더링 데이터를 그대로 출력하는 기본 모드입니다.

2. 통합 이미지 제어 기능

톤 매핑 모드와 함께 다음 파라미터들을 사용하여 화면의 톤을 세밀하게 제어할 수 있습니다:

  • 노출 (exposure): 씬의 전체적인 빛의 세기를 조절합니다 (0 이상의 값).
  • 대비 (contrast): 명암 차이를 조절하여 선명도를 높입니다 (0 ~ 2 범위).
  • 밝기 (brightness): 최종 출력의 밝기를 미세 조정합니다 (-1 ~ 1 범위).

🛠 사용 방법 (Example)

View3DtoneMappingManager를 통해 실시간으로 설정을 변경할 수 있습니다.

// 톤 매핑 모드 변경
view.toneMappingManager.mode = TONE_MAPPING_MODE.KHRONOS_PBR_NEUTRAL;

// 이미지 세부 조정
view.toneMappingManager.exposure = 1.2;
view.toneMappingManager.contrast = 1.1;
view.toneMappingManager.brightness = 0.05;

2. 렌더 타겟 및 조명 시스템 고도화 🚀

톤 매핑의 효과를 극대화하고 하드웨어 수준에서 정확한 색상을 처리하기 위해 데이터 포맷과 조명 파이프라인이 대폭 개선되었습니다.

  • 💎 RGBA16Float 렌더 타겟
    내부 렌더 타겟의 포맷이 기존 8비트 구조에서 RGBA16Float로 업그레이드되었습니다. 정밀도가 낮은 기존 포맷 대비 훨씬 더 넓은 범위의 밝기와 색상 데이터를 유지할 수 있어 색상 손실(Color Crushing)밴딩 현상(Banding) 이 획기적으로 개선되었습니다.

  • 🌈 Bitmap 텍스처 sRGB 포맷 적용
    기본 비트맵 이미지들의 GPUTextureFormat이 기존 navigator.gpu.getPreferredCanvasFormat()에서 ${navigator.gpu.getPreferredCanvasFormat()}-srgb로 변경되었습니다. 이를 통해 감마 보정이 적용된 sRGB 텍스처를 GPU 하드웨어 레벨에서 정확하게 처리하여 더욱 일관된 색감을 보장합니다.

  • 💡 IBL 시스템 고도화 (Prefiltered LUT 적용)
    이미지 기반 조명(IBL) 처리가 더욱 정교해졌습니다. iblTexture가 단순 환경 맵 방식에서 프리필터드 룩업 테이블(Prefiltered Look-Up Table) 방식으로 변경되었습니다. 이를 통해 재질의 거칠기(Roughness) 에 따라 빛이 반사되는 물리 현상을 정확하게 재현하며, 특히 금속 재질에서 더욱 깊이 있고 사실적인 광택을 표현합니다.

📊 주요 데이터 포맷 변화 요약

항목 기존 (Previous) 변경 (New)
렌더 타겟 포맷 8-bit (RGBA8Unorm) 16-bit (RGBA16Float)
비트맵 텍스처 Canvas Format 기반 sRGB 하드웨어 보정 적용
IBL 광택 처리 단순 환경 맵 참조 Prefiltered LUT 기반 반사

3. Rendering Showcase

live - compareMetallic

image

live - compareRoughness

image

live

image

live - iridescenceLamp

image

live - Glass Vase with Flowers

image

live - transmissionTest

image

live - dragonAttenuation

image

⚠️ Alpha 버전 주의 사항 및 향후 계획

이번 V3.9.0-Alpha 버전은 시각적 품질 향상을 위해 렌더링 파이프라인의 핵심 구조를 대폭 변경하였습니다. 이에 따라 다음과 같은 기술적 참고 사항이 있습니다.

1. 색공간 확장 및 정밀도 관련 이슈

  • 복합 재질에서의 아티팩트: 투명도(Transmission)나 굴절이 포함된 복잡한 재질에서 특정 각도나 조명 값에 따라 픽셀 노이즈가 관찰될 수 있으며, 이는 현재 최적화 알고리즘을 개발 중입니다.
  • 하드웨어별 편차: WebGPU를 지원하는 하드웨어 제조사 및 드라이버 버전에 따라 색상 정밀도 표현이 미세하게 다를 수 있습니다.

V3.8.1-Alpha-hotfix

08 Jan 09:43
c95529f

Choose a tag to compare

🚀 Hotfix Release - SSAO & Rendering Optimization

이번 릴리즈는 SSAO 및 PBR 렌더링에서 발견된 심각한 시각적 오류를 해결하기 위한 긴급 핫픽스(Hotfix) 업데이트입니다.


🔴 Critical Fixes (Hotfix)

1. [SSAO] 모델 스케일 및 카메라 깊이 관계 누락 수정

  • 문제: 모델의 스케일과 카메라 거리값이 SSAO 연산에서 누락되어, 모든 환경에서 음영이 일관되지 않게 표현되던 문제를 해결했습니다.
  • 수정: 거리와 스케일의 상관관계를 로직에 통합하여, 원근에 따른 자연스러운 차폐 효과를 복구했습니다.

2. [SSAO] 비라이팅(Non-lighting) 재질 처리 제외

  • 문제: 라이팅이 필요 없는 재질(Unlit 등)에도 SSAO가 적용되어 어두운 잔상이 생기던 오류를 수정했습니다.
  • 수정: 라이팅 재질이 아닐 경우 SSAO 연산 대상에서 즉시 제외하여 렌더링 결과물의 무결성을 확보했습니다.

3. [PBR] Alpha Cutoff 미통과 픽셀의 뎁스 생성 오류 수정

  • 문제: PBR 재질의 투명 영역(Alpha Cutoff)이 뎁스 맵에 잘못 기록되어, 공중에 그림자가 생기거나 외곽선이 깨지는 현상이 있었습니다.
  • 수정: Cutoff 임계값을 넘지 못한 픽셀을 사전에 discard 처리하여, 잘못된 뎁스 정보가 생성되는 것을 차단했습니다.

V3.8.0-Alpha

06 Jan 20:32

Choose a tag to compare

🚀 RedGPU V3.8.0-Alpha Release Notes

💎 New Feature: SSAO (Screen Space Ambient Occlusion)

This update introduces SSAO, a technique that generates real-time micro-shadows using screen-space depth information. This significantly enhances the depth perception and spatial realism of the rendered environment.

  • Spatial Fidelity: Adds natural occlusion shadows where objects meet or in recessed areas, drastically improving 3D structural definition.
  • Visual Grounding: Eliminates the "floating" look of objects, providing a sense of weight and firm placement within the scene.
redcamel.github.io_RedGPU_examples_3d_postEffect_ssao_.-.Chrome.2026-01-07.05-16-13.mp4

👉 Live Demo


🛠 Bug Fixes & Optimizations

1. Improved AntialiasingManager Switching Logic

  • Fixed a runtime error that occurred when switching from MSAA (Multi-Sample Anti-Aliasing) to other anti-aliasing modes (an edge case identified after the TAA implementation). Mode transitions are now seamless and stable.

2. Depth Buffer Pipeline Refactoring (SwapBuffer Implementation)

  • The Depth Buffer management has been transitioned to a SwapBuffer system to better support TAA (Temporal Anti-Aliasing).
  • This allows Post-Effect stages to accurately bind both the Current Depth and Previous Depth buffers.
  • Impact: The accuracy of motion vectors and temporal-based effects has been significantly improved by ensuring consistent frame history.

For more details, please visit the RedGPU Repository.

V3.7.0-Alpha

05 Jan 05:54

Choose a tag to compare

🚀 RedGPU V3.7.0-Alpha

이번 V3.7.0-Alpha 버전에서는 렌더링 품질의 핵심인 TAA 시스템이 전면 재설계되었으며, 디스플레이 환경에 따른 자동 최적화 기능이 추가되었습니다.

🌟 Major Updates (주요 변경 사항)

💎 TAA(Temporal Anti-Aliasing) 시스템 전면 재작성

렌더링 품질 향상을 위해 기존 실험 수준의 TAA 로직을 완전히 리팩토링하였습니다.

  • 자동 활성화 로직 추가: 고해상도 디스플레이 대응을 위해 devicePixelRatio1.0보다 큰 경우, 기본 안티알리아싱 설정이 자동으로 TAA로 지정되도록 변경되었습니다.
  • 알고리즘 고도화: 이전 프레임 데이터를 활용하는 히스토리 블렌딩 로직을 개선하여 지터링(Jittering)과 계단 현상을 더욱 효과적으로 억제합니다.
  • 안정성 강화: 다양한 렌더링 상황에서 발생할 수 있는 아티팩트를 최소화하고 최적화된 퍼포먼스를 제공합니다.

🩹 Minor Improvements & Fixes (작은 이슈 및 개선)

📷 카메라 업데이트 로직 최적화

  • 프레임레이트 독립성 확보: 모니터 주사율이나 환경별 FPS 차이에 관계없이 카메라가 항상 일정한 속도로 이동하고 회전하도록 개선되었습니다. (Delta Time 기반 업데이트 적용)

V3.6.0-Alpha

23 Dec 17:14
e7f1955

Choose a tag to compare

RedGPU v3.6.0 Alpha Release Notes

🎉 주요 변경사항

PBR 퀄리티 업데이트

PBR 기본 퀄리티 업데이트와 확장 업데이트가 진행되었습니다...

GLTF & PBR 엡데이트

**KHR_materials_specular 계산이 개선되었습니다.

  • IBL에서 fresnel & speculcar 적용범위가 개선되었습니다. IBL Specular Demo

    image
  • IBL에서 transmission의 metalic, rougness에 의한 적용범위가 개선되었습니다.
    - IBL Transmission Demo

    image
  • IBL에서 sheen의 계산이 수정되었습니다.
    - IBL Sheen Demo

    image
  • GLTF 에서 indices가 없을떄 노멀 생성이 버그가 해결되었습니다.
    - Generate normal vector test Demo

    image
  • TexcoorN이 2가 넘을떄 즉 Texcoord2 이상일때 비정상으로 간주하고 올바르게 처리됩니다.

    image
  • GLTF 및 기본메쉬에서 YXZ 로테이션 계산에서 XYZ로테이션 계산으로 변경되었습니다. 보다 안정적인 모델 메트릭스 계산으로 개선되었습니다.

    • 시각적인 차이는 없습니다.

V3.5.0-Alpha

14 Dec 10:47
a729da8

Choose a tag to compare

RedGPU v3.5.0 Alpha Release Notes

🎉 주요 변경사항

카메라 컨트롤러 시스템

이번 버전에서는 카메라 컨트롤러 시스템이 전면적으로 개선되었습니다.
기본적 컨트롤러 추가와 모바일 터치 줌 이벤트 지원이 추가되었습니다.

새로운 컨트롤러 및 이름 변경

  • BasicController → FreeController로 변경: 자유로운 카메라 이동을 위한 컨트롤러
FreeController._.RedGPU.-.Chrome.2025-12-14.19-38-03.mp4
  • IsometricController 추가: 아이소메트릭 뷰를 위한 전용 컨트롤러
IsometricController._.RedGPU.-.Chrome.2025-12-14.19-40-24.mp4
  • FollowController 추가: 타겟 추적 기반의 전용 컨트롤러
FollowController._.RedGPU.-.Chrome.2025-12-14.19-39-56.mp4

AController 기반 클래스 개선

  • 이벤트 처리 구조 대폭 개선
  • 터치줌에 대한 지원이 처리 되었습니다.
  • 멀티뷰 환경에서의 이벤트 타겟 처리 강화
  • findTargetViewByInputEvent 메서드로 타겟 뷰 검출 정확도 향상
  • 공통 로직을 AController로 이동하여 코드 중복 제거
  • 이벤트 처리 시스템 전반적인 성능 개선

⚠️ Breaking Changes

  • BasicControllerFreeController로 이름이 변경되었습니다. 기존 코드를 업데이트해야 합니다.
  • 일부 컨트롤러에서 delay 속성이 xxxInterpolation 형태로 변경되었습니다.

V3.4.0-Alpha

03 Dec 14:29

Choose a tag to compare

RedGPU V3.4.0 Alpha – Release Notes

Key Changes

Material Support in LOD

  • The LOD (Level of Detail) system has been made more powerful. It can now change not only geometry but also materials based on distance.
    Previously, only the geometry of a mesh could be simplified at each LOD level. With this update, you can now assign simpler shaders or materials with lower-resolution textures to distant objects, maximizing rendering performance.

  • GPU Base LOD Sample

    Multi.Material.GPU.LOD._.RedGPU.-.Chrome.2025-12-03.23-00-03.mp4
  • CPU Base LOD Sample

    Multi.Material.CPU.LOD._.RedGPU.-.Chrome.2025-12-03.22-59-13.mp4

V3.3.0-Alpha

18 Nov 13:31

Choose a tag to compare

RedGPU V3.3.0 Alpha – Release Notes

Key Changes

GPU-Based LOD System

  • Instancing meshes now support a GPU-based LOD (Level of Detail) system.
  • Mass instancing, GPU frustum culling, and LOD evaluation are all processed in a single pass.
  • Demo: GPU LOD Sample

CPU-Based LOD System

  • Regular meshes now support a CPU-based LOD system.
  • Demo: CPU LOD Sample
InstanceMesh.GPU.LOD._.RedGPU.-.Chrome.2025-11-18.22-24-12.mp4