Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Design a Voxel Rendering Engine for iOS - iOSConf.SG 2017
Shipeng Xu
October 20, 2017
Technology
1
210
Design a Voxel Rendering Engine for iOS - iOSConf.SG 2017
Design a Voxel Rendering Engine for iOS.
Shipeng Xu
October 20, 2017
Tweet
Share
Other Decks in Technology
See All in Technology
LIFF Deep Dive 2022
line_developers
PRO
1
610
0->1 フェーズで E2E 自動テストを導入した私たちの、これまでとこれから
yoyakoba
0
670
スクラムマスターの「観察」スキルを掘り下げる / Scrum Fest Niigata 2022
ama_ch
0
750
srenext2022-skaru
mixi_engineers
PRO
1
860
Learning from AWS Customer Security Incidents [2022]
ramimac
0
1.3k
[SRE NEXT 2022]KaaS桶狭間の戦い 〜Yahoo! JAPANのSLI/SLOを用いた統合監視〜
srenext
0
480
Scrum Fest Niigata 2022 開発エンジニアに聞いてみよう!
moritamasami
1
500
5分で完全理解するGoのiota
uji
3
2.1k
IDOLY PRIDEにおけるAssetBundleビルドパイプラインについて
qualiarts
0
320
Graph API について
miyakemito
0
290
長年運用されてきたモノリシックアプリケーションをコンテナ化しようとするとどんな問題に遭遇するか? / SRE NEXT 2022
nulabinc
PRO
15
7.9k
Dagu | オンプレ向けワークフローエンジン(WebUI 同梱)
yohamta
0
200
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
268
11k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_i
21
14k
The World Runs on Bad Software
bkeepers
PRO
56
5.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
Atom: Resistance is Futile
akmur
255
20k
Stop Working from a Prison Cell
hatefulcrawdad
261
17k
Automating Front-end Workflow
addyosmani
1351
200k
StorybookのUI Testing Handbookを読んだ
zakiyama
4
2k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.2k
Intergalactic Javascript Robots from Outer Space
tanoku
261
25k
Bash Introduction
62gerente
596
210k
WebSockets: Embracing the real-time Web
robhawkes
57
5k
Transcript
Design a Voxel Rendering Engine for iOS Shipeng Xu 20
Oct 2017 @1991bill
What is Voxel? • Volume Pixel • Data Structure ◦
Integral X, Y, Z coordinates ◦ Color Pokemon Voxel, Playiku, 2016
None
Voxel Rendering Engine for iOS • Rendering ◦ Beautiful •
Performance ◦ Blocks can be added or removed at interactive speeds ◦ E.g. A 64x64x64 voxel world = 262,144 voxels! Add Delete Move Change Color
Rendering - 1 Voxel 12 Triangles
Rendering - 5,911 Voxels
Rendering - Meshing • Naive way... • Draw a 3D
cube for each voxel. ◦ 5,911 Voxels ◦ 5,911 x 12 = 70,932 triangles
Rendering - Meshing • Skip the unseen voxels ◦ Before:
5,911 Voxels ▪ 5,911 x 12 = 70,932 triangles ◦ After: 5,868 triangles ▪ 8.2% of original
Rendering - Meshing
• Combine small faces into bigger ones Rendering - Meshing
280 Triangles 22 Triangles(7.9%!)
Rendering - Lighting
Rendering - Ambient Occlusion
Rendering - Ambient Occlusion Occlusion level 3 2 1 0
Rendering - Ambient Occlusion
X Basic Lighting X Ambient Occlusion ✔ Basic Lighting X
Ambient Occlusion ✔ Basic Lighting ✔ Ambient Occlusion Rendering - Lighting
Links • Voxel Meshing - https://0fps.net/category/programming/voxels/ • Voxel Rendering Techniques
- https://medium.com/@fogleman/voxel-rendering-techniques-fa8d869457 ca • Volume Rendering - http://bytebash.com/2012/03/opengl-volume-rendering/ • http://shipeng.studio