Commit Graph
59 Commits
Author SHA1 Message Date
Philip Rideout 84eb9547f5 Tangent-related fixups in MeshAssimp.
Assimp's CalcTangentSpace deviates from de facto glTF 2.0 so we were
compensating for this with an unconditional fixup in MeshAssimp. However
the fixup should apply only when CalcTangentSpace is active, i.e. when
the model is missing tangents.

This makes it so that NormalTangentMirrorTest (has tangents) and
NormalTangentTest (needs tangents) both look reasonable.

I also noticed that MeshAssimp was inexplicably applying
aiProcess_CalcTangentSpace twice: once as a flag, and once as a
post-process. I removed the latter.

This will be fixed in the upcoming cgltf-based loader, which will
use our officially-sanctioned utility method in VertexBuffer.

See #528
2019-02-20 13:29:44 -08:00
Philip Rideout b6ccdc0529 Update stb and add tnt/README.
Fixes #832.
2019-02-19 12:18:29 -08:00
Ben Doherty 08a71bf2f0 Install requirements for linking against filameshio (#818) 2019-02-15 12:08:28 -08:00
Ben Doherty 7be3994c96 Add Metal shading language compilation to matc (#752) 2019-01-29 12:44:58 -07:00
Ben Doherty 836b641bff Add filamat-jni to CMake and build.sh (#740) 2019-01-29 12:34:04 -07:00
Philip Rideout 03161226f2 Update MoltenVK and tweak queue selection strategy.
These changes are sufficient to resurrect Vulkan-on-macOS, at least for
the vk_hellopbr sample.
2019-01-18 12:21:50 -08:00
Philip Rideout 749817b64b Add the official TypeScript annotations for gl-matrix to third_party.
Filament supports (but does not require) gl-matrix, and our TypeScript
annotations will need to use this file to support clients that use
gl-matrix.
2019-01-15 23:22:06 +05:30
Romain Guy fac084dfdf Update Markdeep to latest version (2018/12) 2019-01-14 15:53:14 -08:00
Philip Rideout 8228deb209 Add a multi-material model and JS demo.
This is a more complex test than suzanne because it has multiple
materials and exercises the named materials functionality in
loadFilamesh.

This also exercises our glTF-to-Filamesh pipeline at build time.

See issue #663
2019-01-11 09:18:41 +05:30
Philip Rideout 422bf8631b Small assimp fixups for glTF => filamesh conversion.
This fixes some crashes when trying to convert CesiumMilkTruck.
2019-01-09 07:57:41 +05:30
Romain Guy eaf790aaa7 Improve rendering to TextureView (#635)
* Improve rendering to TextureView

UiHelper wasn't calling the resize callback at init time when attaching
to a TextureView, but it was for a SurfaceView. This makes both code
paths consistent and fixes the standard samples if they are modified to
render to a TextureView.

This change also adds a new sample app that shows how to render into
a TextureView.

* Suppress warning

* Suppress another warning
2018-12-13 15:57:15 -08:00
Romain Guy 866c694977 Fix Linux build 2018-12-07 16:33:06 -08:00
Romain Guy 5bbdc673f2 Remove CMake warning 2018-12-07 15:11:24 -08:00
Philip Rideout c9752d8310 Update zeux/meshoptimizer 2018-12-06 13:33:22 -08:00
Benjamin Doherty 79764e7e02 Use -mssse3 flag with clang-cl 2018-12-06 13:33:22 -08:00
Philip Rideout 33383ab7fb Update zeux/meshoptimizer 2018-12-06 13:33:22 -08:00
Philip Rideout ff2da6e3b4 Add zeux/meshoptimizer to third_party.
This also adds it as a dependency to filameshio. This does not seem to
increase the size of the WebGL build even though filameshio is a
dependency, perhaps because we are not using it yet.
2018-12-04 16:36:56 -08:00
Romain Guy f8ac76f62a Fix typo in CMakeLists for glslang 2018-12-04 16:26:49 -08:00
magicwhale 8aa52575fa updated assimp (#577) 2018-12-04 13:46:32 -08:00
Romain Guy aee644dc97 Turn *off* the warning 2018-12-01 13:49:51 -08:00
Ben Doherty 0548b28535 Update glslang (#526)
* Update glslang

* Update builtinResource

* Add glslang update README
2018-11-27 09:52:03 -08:00
Philip Rideout 19026931a4 Fix Android warning. 2018-11-26 16:55:34 -08:00
Pixelflinger 80aa9964f5 Add google benchmark to the build 2018-11-26 11:51:17 -08:00
Pixelflinger 417d606e5b fix google benchmark README so it works in CLion 2018-11-26 11:51:17 -08:00
Pixelflinger 42a55d3b08 fix google benchmark build for ANDROID SDK < 29 2018-11-26 11:51:17 -08:00
Pixelflinger 6a38c8fde6 fix google benchmark with emscripten (workaround) 2018-11-26 11:51:17 -08:00
Pixelflinger 89f739fd06 add google benchmark library 2018-11-26 11:51:17 -08:00
Ben Doherty 86fb7b4524 Compile filamat and dependencies for all platforms (#506)
* Compile filamat and dependencies for all platforms

* Describe changes made to CMakeLists
2018-11-20 15:31:16 -08:00
magicwhale 1d392d38bd updated assimp 2018-11-19 09:27:08 -08:00
Philip Rideout b2a2da532a Fix Android-with-Vulkan build. 2018-11-16 12:07:23 -08:00
Philip Rideout e3a20e0dfe Fix Linux build failure. 2018-11-16 12:07:23 -08:00
Philip Rideout 55eaad9450 Add smol-v to third_party.
Since we use this for decoding, this adds a dependency to the core
filament renderer which in practice is only used for Vulkan. However
this is a tiny library, so it's simplest just to always include it.

The next PR will add the actual compression / decompression code to
filaflat and filamat. Here are the preliminary results.

   102K =>  29K  aiDefaultMat.filamat
   102K =>  29K  aiDefaultTrans.filamat
    21K => 5.0K  bakedColor.filamat
    22K => 5.2K  bakedTexture.filamat
    21K => 5.0K  depthVisualizer.filamat
    40K =>  10K  groundShadow.filamat
   102K =>  29K  sandboxCloth.filamat
   125K =>  36K  sandboxLit.filamat
   126K =>  36K  sandboxLitFade.filamat
   126K =>  36K  sandboxLitTransparent.filamat
   109K =>  31K  sandboxSubsurface.filamat
    21K => 4.9K  sandboxUnlit.filamat
    21K => 4.9K  transparentColor.filamat

Both the "before" and "after" numbers are excluding non-Vulkan targets,
and I also changed our CMakeLists to build filamat instead of inc.
2018-11-15 16:55:40 -08:00
Ben Doherty 29119c7248 Add iOS support to Filament (#360) 2018-10-18 12:42:13 -07:00
Philip Rideout d15e275de0 Add glMatrix to third_party.
Some of our web tests and demos will make use of this library, and it's
useful to leverage a local copy instead of a CDN during development.
2018-10-17 09:57:08 -07:00
Philip Rideout 8e9ef497f6 Fix Linux build of etc2comp. 2018-10-02 12:32:23 -07:00
Philip Rideout 70a4c4f887 Add etc2comp to third_party. 2018-10-02 12:32:23 -07:00
Philip Rideout 33e0e34aa4 Remove STB dependency from astcenc.
We give the encoder raw RGB data, so there's no reason to use its STB
functionality. This shrinks the lib footprint by a small amount.
2018-09-28 16:33:41 -07:00
Philip Rideout ec31a55094 Add astcenc from ARM to third_party.
This was designed as a standalone tool rather than a library, so we are
renaming their "main" function to "standalone_main", which is described
in the tnt README.

We'll also be adding a wrapper to our imageio library.
2018-09-28 09:42:09 -07:00
Pixelflinger 09830cd126 Improvements to CMGEN handling of cubemaps
- cmgen now creates reflections maps for all input
assets by default instead of just for equirectangular 
images.

- equirectangular decode doesn't mirror -- that's
done by the mirroring code now.

- mirroring can be turned of with --no-mirror

- option --mirror is gone

- faster mirroring code (do it before generating
  mipmaps)

- added labels to faces of debug.png environment

- added a debug equirectangular image in third_party
(creative commons license)
2018-09-21 11:50:29 -07:00
Romain Guy 4c3b9b2fee Remove assert for tiled images (#198)
They are now properly supported
2018-09-04 10:21:12 -07:00
Sergey 2dd98893f8 Enable DPI awareness in Windows (#193) 2018-09-04 10:03:30 -07:00
Romain Guy 4eb2c16ad6 Update TinyEXR (#197) 2018-09-04 10:02:48 -07:00
Romain Guy 4002498438 Add new HDR environment maps in third_party (#182)
These are much better than the ones we had in assets/
2018-08-29 14:22:58 -07:00
Philip Rideout 4665805d81 Minor improvements to EXR decoding. (#177)
See also #176.

This closes #166.
2018-08-28 14:38:54 -07:00
Romain Guy ac70617f12 Update spirv-tools (#136)
This completely gets rid of unnecessary highp qualifiers in optimized GLSL code.
2018-08-24 10:24:48 -07:00
Philip Rideout 7fff7d715f Update VkMemAlloc and fix its usage. (#126)
This implements the following suggestions from Adam Sawicki:

(1) Update VkMemAlloc to dev branch.
(2) Use VMA_MEMORY_USAGE_CPU_ONLY in the stage pool.
(2) Add vmaFlush after every vmaUnmap.

We also considered removing Map / Unmap in favor of persistent mapping
via VMA_ALLOCATION_CREATE_MAPPED_BIT, but decided to be conservative
until we have a chance to rethink our UBO update strategy.

Closes #19
2018-08-23 10:20:12 -07:00
Romain Guy 9f2592ed9d Update SPIRV libraries (#99)
* Update SPIRV libraries

- Update `spirv-cross`
- Update `spirv-tools`
- Update `glslang`

`spirv-tools` contains a fix for an issue we reported (unnecessary promotions to highp in certain expressions).

* Add SPIRV-Tools dependency to matinfo
2018-08-15 12:59:17 -07:00
shartte e6d5a85ec8 clang-cl warning fixes (#83)
* Disable certain MSVC-specific deprecation warnings

* clang-cl.exe warning fixes
2018-08-14 12:55:04 -07:00
Romain Guy e5535c7a66 Rg/less warnings (#60)
* Fix warnings for real this time
2018-08-09 14:16:10 -07:00
Ben Doherty 714e0c18e0 Fix build error on Windows 2018-08-09 13:26:44 -07:00