
PlayCanvas launches glTF 2.0 Viewer Tool - ovenchips
https://blog.playcanvas.com/playcanvas-launches-gltf-2-0-viewer-tool/
======
andrewmcwatters
See also [https://github.com/KhronosGroup/glTF-Sample-
Viewer](https://github.com/KhronosGroup/glTF-Sample-Viewer).

------
danbolt
I had always uses this[1] as a way of double-checking my GLTF output during
game jams, but this looks really nice! It's nice to have more variety in this
space. Blender's GLTF output works nicely with three.js or other WebGL
libraries.

[1] [https://gltf-viewer.donmccurdy.com](https://gltf-viewer.donmccurdy.com)

------
nightowl_games
Is Draco the renderer? I'm looking for the pbr renderer in here.

~~~
donmccurdy
Draco is a compression technology
([https://github.com/google/draco](https://github.com/google/draco)) available
in glTF files. PlayCanvas is both the engine and the renderer in this viewer.

------
cwoodward
This looks great! It seems like a nice evolution for those familiar with tools
like Unity and PhaserJS.

I wasn't familiar with PlayCanvas until now and I think I found my weekend
project.

------
sprash
The glTF material model is essentially all you need for realistic rendering.

I always wondered how much performance you could gain by implementing that
model directly in silicon and ditch GPU shaders instead. The great problem of
modern GPUs is that they are deigned as a multipurpose parallel computer used
for all kinds of things and not as a dedicated GPU. Since Moores law is
essentially dead this could be the only way forward.

~~~
Jasper_
> The glTF material model is essentially all you need for realistic rendering.

If you assume the whole world is plastic, then yes! But the microfacet model
is not the ultimate physical model, GGX-Smith and Epic/Disney PBR are
compromises in a lot of cases, and you interact with _hundreds_ of surfaces
every day that can't be modeled accurately with it. Fuzzy or hairy surfaces
are often modeled with a microfiber model! Epic's approximations (e.g. the
split-sum approximation) can't easily handle anisotropic surfaces like brushed
metal. And fleshy surfaces like skin, wax, paper, fruit pulp, etc. all require
some form of subsurface scattering beyond the basic Lambertian diffuse.

> I always wondered how much performance you could gain by implementing that
> model directly in silicon and ditch GPU shaders instead.

Very little of the shader code that's being run is the microfacet BRDF stuff,
and that's ALU so it's the fast bit! The expensive stuff is texture fetching
for i.e. incident light, shadows, and that's all done by artists and graphics
engineers above the BRDF layer. BRDF just tells you how to respond to incoming
light, not where it is or where it comes from. And it makes you supply stuff
like albedo color, normal direction, which are where shaders spend a lot of
their time.

~~~
donmccurdy
Some of these features (sheen, anisotropy, subsurface scattering) are being
added to the format with changes like
[https://github.com/KhronosGroup/glTF/pull/1726](https://github.com/KhronosGroup/glTF/pull/1726).
But realtime implementations can get a lot of mileage out of a simpler
metal/rough PBR workflow, too.

------
folli
Does anyone know of a good library or implementation to view gLTF models in
Android using OpenGL and Java?

~~~
corysama
[https://google.github.io/filament/](https://google.github.io/filament/) from
Google has become very impressive over the past two years. And, it has the
most beautiful documentation you could ask for :)

