Commit Graph
45 Commits
Author SHA1 Message Date
Mathias Agopian 1b36f82c1e API BREAKAGE: this change aims to fix multi-view support (#2376)
* API BREAKAGE: this change aims to fix multi-view support


What has changed:
- View doesn't have a notion of clear color anymore
- View doesn't have a notion of discard flags anymore
- The clear color and color-buffer discard/clear flags are moved to Renderer
- Skybox can now be set to a constant color
- View have a blend-mode

What does is all mean:
"Clearing" (i.e.) setting its background is now handled by Skybox, by
setting a constant color to the Skybox. This should take care of
drawing views side by side.

When a view needs to be drawn on top of another, it's BlendMode needs to
be set to TRANSLUCENT and of course and, generally, it wither won't have
a skybox, or will have one that sets some translucent pixels.

As an optimization, a View with BlendMode::OPAQUE will have its
background cleared with the color specified in Renderer.

If the SwapChain already has some content, it's now possible to set
the Renderer to not discard the content, together with TRANSLUCENT views,
it's possible to draw on top of that content.


It is NOT possible to share depth/stencil buffers between views.

Fixes: #2369, #2372, #2364

* Address reviewers comments.

Note: WebGL is still broken with this PR
2020-04-10 15:54:14 -07:00
Ben Doherty c88bbc21d0 Link hello-gltf iOS project with Draco (#2311) 2020-03-30 17:11:49 -07:00
Ben Doherty af5805e396 Update XcodeGen and iOS sample projects (#2191) 2020-03-02 12:54:17 -08:00
Philip Rideout a61bc51271 Add Java bindings for SurfaceOrientation.
Note that libgeometry is already included in `filament-android`, this
simply exposes more of its existing functionality.

The Java version of SurfaceOrientation is similar to the JavaScript
version because we are bundling it into the main Filament package, even
though it is a separate library in C++. This is much simpler than
creating a brand new Java package.

New Android sample that tests this is forthcoming.

Fixes #1729.
2020-02-11 12:38:06 -08:00
Benjamin Doherty 02b2b79060 Fix iOS samples 2020-01-29 13:32:45 -08:00
Ben Doherty 7852fd2ffb Build iOS samples during CI jobs (#2076) 2020-01-29 10:59:19 -08:00
Benjamin Doherty 06726fe361 Regenerate Xcode project for hello-ar iOS sample 2020-01-28 11:09:34 -08:00
Ben Doherty ba3a274357 Fix headers in iOS samples (#2074) 2020-01-28 10:56:28 -08:00
Ben Doherty 5fe1fe73c4 Use Objective-C availability tests for Metal backend (#2046) 2020-01-23 09:16:19 -08:00
Mathias Agopian 1a9d0926ee Added a torus and simple cube shapes
renamed "cube.obj" to "rounded_cube.obj", which it was (rounded)
2019-12-03 17:49:40 -08:00
Ben Doherty ae3ccd7fb6 Implement headless swap chains and readPixels for Metal (#1885) 2019-11-18 11:28:20 -08:00
Ben Doherty 2fa08123a0 Add an iOS runner for backend-test (#1720) 2019-10-03 17:02:28 -07:00
Philip Rideout 1bda37776b Rename KtxUtility namespace to image::ktx. 2019-09-23 12:08:57 -04:00
Ben Doherty 0e3bc8a443 Only install iOS builds if requested (#1614) 2019-09-11 09:35:01 -07:00
Ben Doherty dc75c10014 Update Xcode projects for KTX build step (#1495) 2019-08-08 11:39:13 -07:00
Philip Rideout 91ff1d87eb Replace prebuilt KTX with a build step.
This removes the samples/envs folder and replaces these KTX files with a
build step that is driven by CMake / gradle / bash, depending on
platform.

This makes it easier to use IBL files that are generated by the latest
and greatest version of cmake.
2019-08-08 10:41:13 -07:00
Ben Doherty 115ce0cb42 Delete empty file 2019-07-25 17:56:56 -07:00
Ben Doherty ada148b819 Add OpenGL scheme to hello-ar (#1437) 2019-07-24 15:49:31 -07:00
Ben Doherty ba5b9c733d Add shadow plane to hello-ar iOS sample (#1372) 2019-07-07 21:55:45 -07:00
Ben Doherty 2bfea16459 Update usage of KtxUtility in iOS projects (#1371) 2019-07-02 12:33:55 -07:00
Ben Doherty 5b2dc1d3de Link against IBL library in iOS projects, update README (#1369) 2019-07-02 10:43:54 -07:00
Ben Doherty 097feb0372 Delete accidentally committed file (#1368) 2019-07-02 09:58:48 -07:00
Philip Rideout 56c2d6338e Add spherical harmonics parser, reduce code duplication.
This uses strtof rather than stringstream and provides a common location
that can be leveraged by the upcoming JNI bindings.

Note that this new method lives in KtxBundle rather than KtxUtility. The
latter creates Filament textures and therefore does not get built into
libimage.
2019-06-28 11:10:04 -07:00
Ben Doherty 57d6bdff1b Allow mutliple API flags in matc (#1327) 2019-06-21 09:27:49 -07:00
Ben Doherty 326a67acdb Fix iOS README formatting 2019-05-30 10:01:56 -07:00
Ben Doherty 2c36d0aaae Add gLTF iOS sample (#1236) 2019-05-30 10:00:21 -07:00
Ben Doherty 04859da116 Add hello-ar iOS sample (#1124) 2019-04-23 18:11:22 -07:00
Ben Doherty 44754a9368 Revamp iOS samples to use XcodeGen (#1110) 2019-04-17 16:16:46 -07:00
Ben Doherty ba0bc9e481 Add correct Metal load and store actions (#1070) 2019-04-04 08:25:12 -07:00
Ben Doherty aa90f7edd6 Update Filament dependencies in iOS samples and README (#1049) 2019-03-27 14:37:51 -07:00
Mathias Agopian ee28f0adac Fix #978 -- iOS samples don't build 2019-03-14 13:13:41 -07:00
Ben Doherty 4f22eb44e6 Add transparent-rendering iOS demo (#905) 2019-02-28 14:42:14 -08:00
Ben Doherty 4d90b9d0f0 Link iOS sample apps with the geometry library (#899) 2019-02-28 12:26:05 -08:00
Ben Doherty d8ca867691 Small changes to iOS readme
Add `-i` flag to ensure installs and "apps" is now plural.
2019-02-25 13:57:43 -08:00
Ben Doherty fa3f34ea4b Update iOS samples README (#857) 2019-02-22 09:14:22 -08:00
Ben Doherty d0bab0fa8a Add hello-pbr iOS demo (#851) 2019-02-21 12:57:29 -08:00
Ben Doherty de4abe3295 Replace MoltenVK with Metal for iOS sample (#825) 2019-02-19 12:25:24 -08:00
prideout 5ee359cf40 Move math namespace to fix #746. 2019-02-07 09:23:07 -08:00
Ben Doherty 7381475321 Compile material during build for iOS sample (#779) 2019-02-04 20:38:41 -08:00
Ben Doherty c29fcc7668 Fix typo in iOS readme 2019-01-29 18:13:38 -08:00
Ben Doherty 0c1fdc88ec Fix iOS hello-triangle sample (#694) 2019-01-11 13:48:00 -08:00
Ben Doherty 30eccc78b6 Add support for iOS simulator (#398)
* Add support for iOS simulator

* Use correct case for include
2018-10-23 10:30:01 -07:00
Ben Doherty 3ed2dd08fb Handle device orientation changes (#399) 2018-10-18 14:43:32 -07:00
Ben Doherty db729b157a Remove development team for iOS sample (#401) 2018-10-18 13:53:55 -07:00
Ben Doherty 29119c7248 Add iOS support to Filament (#360) 2018-10-18 12:42:13 -07:00