-
-
Notifications
You must be signed in to change notification settings - Fork 15
3D Mesh Demo renders the Khronos glTF DamagedHelmet sample model
github-actions[bot] edited this page Jun 18, 2026
·
4 revisions
Demonstrates:
-
blinc_canvas_kit::SceneKit3D— orbit camera + light rig wrapped around acanvaselement, with drag/scroll input wired for free. -
DrawContext::draw_mesh_data— the direct-render mesh path. The canvas closure just callsctx.draw_mesh_data(&mesh, transform); everything behind that (camera capture, pending-mesh queue, GpuPaintContext → GpuRenderer dispatch, PBR shading) is plumbing. - Inline glTF loading — no external
gltfcrate dep. The sample model has a fixed layout (single mesh, single primitive, packed f32 attributes at known bufferView offsets, u16 indices), so parsing is a handful of offset reads plus ablinc_image::ImageDatacall for the albedo texture. - Non-blocking asset loading. On desktop the mesh + HDR decode is
cheap and runs synchronously; on wasm the
WebAssetLoaderpreload is background-spawned by the wrapper, sobuild_uireturns before any asset is cached. Aspawn_localpolling loop waits for the preload, then populates a shared slot that the Stateful viewport wrapper swaps the loading overlay out for.
Controls: drag the viewport to orbit, scroll to zoom.
https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/DamagedHelmet
Battle Damaged Sci-fi Helmet - PBR by theblueturtle_, published under a Creative Commons Attribution-NonCommercial license.
https://sketchfab.com/models/b81008d513954189a063ff901f7abfe4
<iframe src="../../examples/mesh_3d_demo/index.html" width="100%" height="560" loading="lazy" style="border:1px solid #45475a;border-radius:8px;background:#181825;" title="Blinc mesh_3d_demo example" ></iframe>Tip: Some demos are best viewed in a full browser window. Click "Open in a new tab" below for the full experience.
Getting Started
Mobile Development
Example Gallery
- Example Gallery
- Canvas Element
- Canvas Kit Interactive
- Carousel Demo - Selector API Showcase
- Chrome-Style Tabs
- blinc_cn Components
- Code Element
- Complex SVG
- CSS Debug
- CSS Visual Features
- Layer Effects
- Emoji and HTML Entities
- @flow Shader
- Fluid Surface
- Skeleton animation with glTF +
blinc_canvas_kit. DrawContext::run_gpu_passend-to-end demo.- Image CSS Styling
- Image Layer Test
- Keyframe Animation Canvas
- Markdown Editor
- 3D Mesh Demo — renders the Khronos glTF
DamagedHelmetsample model - Motion Demo
- Music Player Glass Card
- Node-editor demo — pre-wired graph with three node types, typed
- Notch Menu Bar
- Overflow Fade
- Overlay System
- Pointer Query
- Rich Text Element
- Rich Text Editor
- Scroll Container
- Semantic @flow
- Sortable
- Stateful API + Signal-bound modifiers demo.
- End-to-end 3D demo wiring Blinc's SceneKit3D renderer up to
- Unified Styling API
- SVG Animation
- Table Builder
- Tabler Icons
- Minimal text positioning test
- Text Input Widgets
- KHR_texture_transform
- Theme System
- Timeline Animation
- Typography
- Video Player
- Wet Glass
- Windowed Application
Web Development
Core Concepts
- Elements & Layout
- Styling & Materials
- CSS Styling
- Theming
- Event Handling
- State Management
- Element Refs
Animation
Components
Component Library (blinc_cn)
Widgets
- Buttons & Inputs
- Text & Rich Text
- Code Editor
- Scroll Containers
- Virtualized List
- Canvas Drawing
- Images & SVG
- Audio & Video
- Markdown Rendering
Canvas Kit
Advanced
- Routing & Navigation
- Multi-Window
- System Integration
- Element Query API
- Overlay System
- Custom State Machines
- Pointer Query
- Performance Tips
- Flow Shaders
- 3D Rendering
- Custom GPU Passes
- Hot-reload (experimental)
Architecture
Contributing