Ben Doherty
be30ac1fcb
Fix G3 reported ubsan warning ( #6257 )
2022-11-01 12:50:27 -04:00
Ben Doherty
c5cc7fe26a
Metal: generate argument buffer structures ourselves ( #6242 )
2022-11-01 12:44:42 -04:00
Ben Doherty
d04b0a5c73
Update Vulkan headers to v1.3.232 ( #6256 )
2022-11-01 12:38:23 -04:00
Mathias Agopian
72ab2aef0a
fix UBO handle leak with ShadowMap
...
This wasn't a big issue because the "leak" would be cleaned when the
engine is destroyed.
2022-10-31 11:29:46 -07:00
Koncz Levente
1527bb7ad3
Preserve iOS stack traces ( #6240 )
2022-10-31 13:58:31 -04:00
daemyung jang
8cb26fc9ac
Fix a build error on Android
...
The size of struct could be different on each architecture.
2022-10-30 20:52:56 -07:00
Matt Vera
c21794d0a0
Add Vulkan GGP platform. ( #6235 )
...
* Add GGP vulkan platform.
* Add release note for GGP support
2022-10-28 11:53:29 -07:00
daemyung jang
1a6338569a
Calculate primitive's AABB correctly ( #6232 )
...
AABB of morph target is displacement data so it should be added to
primitive's base AABB.
Co-authored-by: Mathias Agopian <mathias@google.com >
2022-10-28 11:51:02 -07:00
Mathias Agopian
c5ebe1a88a
skip primitives with FRONT_AND_BACK face culling
2022-10-28 11:50:21 -07:00
Mathias Agopian
a3f2028ae4
Reduce the size of PerViewUniforms by 24 bytes
...
This seems a bit pointless because PerViewUniforms has a 2KB field,
however, it adds up now that it's used by ShadowMap.
2022-10-28 11:49:55 -07:00
Mathias Agopian
c393ee4591
Each shadowmap now manages its own UBO
...
Instead of constantly reusing the View's UBO, each shadowmap now
manages it own. All UBOs for all shadow maps are updated together,
then later during rendering, we're simply binding the correct UBO.
This change will be needed later so that we can update several
shadow maps in a single texture.
There are two main changes to achieve this:
1. ShadowMap now has PerViewUniforms object
2. For point lights, each face now has a ShadowMap object
One consequence is that ShadowMap is now very large (over 2KB). This
will be addressed later.
2022-10-28 11:49:55 -07:00
Mathias Agopian
83a82ae10e
shadowing: store Executor instead of whole RenderPass
...
We didn't need to store the actual RenderPass for each shadowmap pass,
the executor is enough. This might prevent some mistakes later.
2022-10-28 11:47:12 -07:00
daemyung jang
676694e458
Fix glTF breaking issue ( #6239 )
2022-10-28 09:56:01 -07:00
Mathias Agopian
2ca218928f
utils: get rid of GrowingSlice
...
it's just not used anywhere. change the implementation of Slice<> to
use two pointers.
2022-10-27 22:48:45 -07:00
Philip Rideout
776ce223fc
Fix incorrect Vulkan documentation wrt layouts.
2022-10-26 19:18:32 -07:00
Philip Rideout
0d4d1f55c9
Updates to the Vulkan architecture doc.
2022-10-26 19:18:32 -07:00
Romain Guy
d6dba71ace
Update docs
2022-10-26 12:28:56 -07:00
Mathias Agopian
61ee11ae6c
fix the doubleSided property documentation ( #6228 )
...
* fix the `doubleSided` property documentation
* Update Materials.md.html
Co-authored-by: Romain Guy <romainguy@curious-creature.com >
2022-10-26 12:28:03 -07:00
Mathias Agopian
90f32e7277
A basic POT 2D allocator
...
This 2D allocator only supports power-of-two, square allocations. It
uses a quadtree to store the allocated regions.
The quadtree implementation currently has a fixed depth (templated).
The allocator does a best-fit match, but currently doesn't implement a
free method.
2022-10-26 11:02:17 -07:00
daemyung jang
b85d9afdb3
Remove an useless whitespace ( #6226 )
2022-10-26 00:10:33 -07:00
Mathias Agopian
4297d43d9a
more improvements to RenderPass
...
- RenderPass::Executor now only executes the commands, it doesn't
create a backend render pass anymore. This is still done in the
RenderPass::execute() helper.
- scissor and poloyon offset overrides are now set on Executor because
they are not needed to generate the commands.
2022-10-25 14:38:56 -07:00
Mathias Agopian
cfcf714c21
Get rid of PrimitiveType::NONE
2022-10-25 14:38:08 -07:00
Benjamin Doherty
f7cfc6a65e
Release Filament 1.28.1
2022-10-25 13:07:56 -04:00
Benjamin Doherty
4ead3bcebf
Force spirv-cross to keep Metal argument buffer equal sized
2022-10-25 12:07:24 -04:00
Balazs Vegh
21e0677039
Check GPU support for depth resolve on Metal ( #6220 )
2022-10-25 11:55:17 -04:00
Ben Doherty
107b5a4854
Metal: fix microshadowing artifacts ( #6221 )
2022-10-24 19:12:14 -04:00
Balazs Vegh
9761b65137
Fix Metal unused variable warning ( #6217 )
2022-10-24 12:41:58 -04:00
Ben Doherty
b1831d2786
Fix, don't use encoder.device ( #6212 )
2022-10-20 13:05:07 -04:00
Benjamin Doherty
977d369e40
Fix unused variable warnings
2022-10-19 12:44:07 -04:00
Josh Faust
5cf5b25175
Add a function to reset internal GL backend state ( #6105 )
...
This allows bug-free integration with external renderers in WebGL
See https://github.com/google/filament/issues/6091
2022-10-19 09:31:11 -07:00
Ben Doherty
e75c3020c8
Initial support for Metal compute shaders / SSBOs ( #6189 )
2022-10-18 16:21:57 -04:00
k1rnt
aeb0a4008d
fix(ci): replace set-output to GITHUB_OUTPUT ( #6195 )
2022-10-18 13:41:25 -04:00
Benjamin Doherty
2d43ad59ec
Revert Android API_LEVEL change
...
glDispatchCompute requires Android API level 21, however bumping our
required minimum from 19 to 21 caused some clients' builds to fail.
Commenting-out that line for now to proceed with the 1.28.0 upgrade.
2022-10-18 13:34:50 -04:00
daemyung jang
f86ec07c45
Fix ios hello-gltf runtime errors
2022-10-18 10:19:22 -07:00
Ben Doherty
fc012d6d65
Metal: fix use-after-free ASAN error ( #6203 )
2022-10-17 19:13:36 -04:00
Philip Rideout
6b71232e38
matc / matinfo / filamesh: add vulnerability message
2022-10-17 15:49:35 -07:00
Philip Rideout
e157023fc1
Use mField style for fields in FFilamentInstance
2022-10-17 15:49:19 -07:00
Philip Rideout
6e38db882f
Fix installed IBL location for desktop.
...
Fixes #6193
2022-10-17 12:30:11 -07:00
daemyung jang
09600699cb
Update README.md
2022-10-17 09:57:58 -07:00
daemyung jang
6a5e74f031
Update README for meshoptimizer
2022-10-17 09:57:58 -07:00
daemyung jang
795bd1e995
Fix build errors in ios samples
2022-10-17 09:57:58 -07:00
daemyung jang
784416f658
Support glTF EXT_meshopt_compression
2022-10-17 09:57:58 -07:00
daemyung jang
b151afe567
Update meshoptimizer to version 0.18
2022-10-17 09:57:58 -07:00
Mathias Agopian
117ae1d648
RenderPass doesn't store an FEngine anymore
2022-10-14 15:59:03 -07:00
Mathias Agopian
7165d8aa54
fix a directional light shadowing issue
...
the shadow frustum could be be smaller than expected.
2022-10-14 13:16:14 -07:00
Ben Doherty
6b461b2d89
Metal: fix simulator regression due to arg buffers ( #6181 )
2022-10-13 14:34:33 -04:00
Benjamin Doherty
affc5be840
Release Filament 1.28.0
2022-10-13 12:35:45 -04:00
Ben Doherty
e3ff5616ef
G3 fixes for 1.28.0 ( #6174 )
2022-10-11 17:02:46 -07:00
Mathias Agopian
d9a401d57e
Reduce size of ShadowMap object
...
- remove mEngine from ShadowMap
- remove storage of ShadowMapInfo in ShadowMap
- ShadowMap::render should be on ShadowMapManager
- remove more attributes from ShadowMap
ShadowMap is now reduced to 32 bytes.
2022-10-10 13:03:36 -07:00
Mathias Agopian
acd5823953
Add support for point light shadows
...
[experimental]
2022-10-10 13:03:36 -07:00