Commit Graph

1219 Commits

Author SHA1 Message Date
Alan Jeffrey 463ea6519b Move a magic number into a constant declaration 2019-04-15 12:43:41 -04:00
Alan Jeffrey cf6032416c Predict next frame pose 2019-04-15 12:43:41 -04:00
Alan Jeffrey 8de4b952be Change initial camera transform 2019-04-15 12:43:41 -04:00
Alan Jeffrey daeee1305c Set rayon thread pool size to be 2 in magicleap demo 2019-04-15 12:43:41 -04:00
Alan Jeffrey dd0283d848 Reenable jemallocator 2019-04-15 12:43:41 -04:00
Alan Jeffrey 838bf684fb Add magicleap demo 2019-04-15 12:43:41 -04:00
Patrick Walton e00e862df0 Merge remote-tracking branch 'asajeffrey/demo-device-controls-viewports' into pf3 2019-04-12 14:14:59 -07:00
Patrick Walton 3996d9a653 Merge remote-tracking branch 'asajeffrey/demo-camera-transforms-event' into pf3 2019-04-12 14:10:03 -07:00
Patrick Walton 782e352bf2 Make `BackgroundColor` public. 2019-04-12 14:07:36 -07:00
Patrick Walton 4e7bbf7a49
Merge pull request #130 from asajeffrey/demo-transparent-no-floor
Don't draw the floor if the background is transparent
2019-04-12 14:05:00 -07:00
Patrick Walton 06439f858f Store the tile rect in only one place in the scene assembly thread 2019-04-12 11:55:05 -07:00
Alan Jeffrey eedb8bbadf Separated viewport from make_current. 2019-04-12 11:30:00 -05:00
Alan Jeffrey b98336a430 Clear all GL contexts before rendering a scene 2019-04-12 09:07:52 -05:00
Alan Jeffrey 50e5790c9f Allow devices to determine the viewport for each eye 2019-04-12 09:07:52 -05:00
Alan Jeffrey fcb122ddb8 PR #114 2/2 2019-04-12 09:07:41 -05:00
Alan Jeffrey 9da93c46e8 PR #114 1/2 2019-04-12 09:07:25 -05:00
Alan Jeffrey 5c30913716 Removed mode from 3D demo camera 2019-04-12 08:58:42 -05:00
Alan Jeffrey 61caaeb2ff Allow devices to set transforms for each camera 2019-04-12 08:58:42 -05:00
Patrick Walton 21563d9d7f Move the Z-buffer over to the `DenseTileMap` abstraction 2019-04-11 19:38:31 -07:00
Patrick Walton eef6045ed7 Add missing `tile_map.rs` file 2019-04-11 19:36:55 -07:00
Patrick Walton 6a967c19f4 Introduce a `DenseTileMap<T>` type for better abstraction and SIMD use 2019-04-11 19:25:02 -07:00
Patrick Walton 9e38da25e1 Remove the `TileObjectPrimitive` structure in favor of a flat list of
backdrops.

This reduces memory usage a bit and adds the infrastructure needed to support a
tile map.
2019-04-11 18:54:03 -07:00
Alan Jeffrey e11f5646ab Don't draw the floor if the background is transparent 2019-04-11 11:19:18 -05:00
Patrick Walton 4e6bbf59ba Stop using `crossbeam-channel`, as it's slower than `std::sync::mpsc` on macOS
at least
2019-04-10 20:29:13 -07:00
Patrick Walton c5ccd0f6e0 Add partial support for transparent background colors. 2019-04-10 14:43:36 -07:00
Patrick Walton 12b3b1cd9a
Merge pull request #128 from asajeffrey/demo-handle-events-before-scene-update
In the demo, handle events before updating the scene
2019-04-10 08:42:33 -07:00
Patrick Walton 8cb2ae8918
Merge pull request #127 from asajeffrey/pf3-mut-present
Make the demo window present method take a &mut self
2019-04-10 08:42:05 -07:00
Patrick Walton 3d4f8bd008 Pipeline between CPU and GPU at a more fine-grained level.
This makes us stop running one frame behind.
2019-04-09 17:06:43 -07:00
Alan Jeffrey 3337dd897c In the demo, handle events before updating the scene 2019-04-08 11:24:41 -05:00
Alan Jeffrey c26a443b0d Make the demo window present method take a &mut self 2019-04-08 11:16:57 -05:00
Patrick Walton d090dd459b Remove the layer of indirection between object indices and shaders 2019-04-03 11:58:45 -07:00
Patrick Walton 2f651ed537
Merge pull request #117 from asajeffrey/pf3-options
A couple of features for Options
2019-04-02 14:30:43 -07:00
Alan Jeffrey dc77a5262f TAB toggles UI visibility in the demo 2019-04-02 15:55:38 -05:00
Alan Jeffrey 0166ff96de Allow demo UI to show just stats 2019-04-02 15:48:28 -05:00
Alan Jeffrey 3fafaff04f Option to disable the UI 2019-04-02 15:21:05 -05:00
Alan Jeffrey 4db3fb6279 Allow demo apps to provide default options 2019-04-02 15:21:05 -05:00
Patrick Walton ace5392701
Merge pull request #116 from asajeffrey/gitignore-emacs
Add emacs backup files to .gitignore
2019-04-02 11:01:08 -07:00
Patrick Walton 6b6f24c98d Merge remote-tracking branch 'origin/pf3' into pf3 2019-03-28 21:25:53 -07:00
Patrick Walton 79b26bb9bd Split out the swizzles into separate modules 2019-03-28 21:25:33 -07:00
Patrick Walton ae192ffee7 Add ARM SIMD 2019-03-28 19:26:47 -07:00
Patrick Walton a987bf0fc1
Merge pull request #124 from asajeffrey/pf3-demo-customize-rayon
Allow the Window to customize rayon's thread builder
2019-03-28 15:17:23 -07:00
Alan Jeffrey c51885a696 Renamed customize_rayon to adjust_thread_pool_settings 2019-03-28 17:16:47 -05:00
Alan Jeffrey 52fa494d48 Allow the Window to customize rayon's thread builder 2019-03-28 14:42:14 -05:00
Patrick Walton e4b613c2c8 Stroke then transform instead of the reverse. 2019-03-26 19:56:59 -07:00
Patrick Walton db3851d754 Get subpixel AA and gamma correction working in 2D 2019-03-25 16:20:34 -07:00
Patrick Walton 29cedb96ef
Merge pull request #113 from asajeffrey/gl-nonzero-default-framebuffer
Allow a non-zero default framebuffer
2019-03-25 15:13:46 -07:00
Patrick Walton 224c8e85b9 Create separate shaders for monochrome and multicolor tiles.
This is preparation for fixing subpixel AA.
2019-03-22 14:28:31 -07:00
Alan Jeffrey ab3b28f82b Allow a non-zero default framebuffer 2019-03-21 13:34:59 -05:00
Alan Jeffrey a2db354eda Add emacs backup files to .gitignore 2019-03-21 11:44:48 -05:00
Patrick Walton 26fea26f87 Allow construction of a `Transform3DF32` from a quaternion describing a
rotation.

Closes #111.
2019-03-20 16:27:28 -07:00
Patrick Walton a0aeb124ad
Merge pull request #112 from asajeffrey/geometry-perspective-post-mul
Add Perspective::post_mul
2019-03-20 14:26:11 -07:00
Patrick Walton 6ca5dc5f62 Add basic barrel distortion support for VR 2019-03-20 13:41:04 -07:00
Alan Jeffrey 1769246e5a Add Perspective::post_mul 2019-03-20 13:59:55 -05:00
Patrick Walton 2819a88060
Merge pull request #110 from nical/swizzle
Fix swizzles in scalar.rs
2019-03-20 10:21:44 -07:00
Nicolas Silva 301075ef86 Fix swizzles in scalar.rs. 2019-03-20 17:19:11 +01:00
Patrick Walton 0458d9a7f2 Factor out bits of the postprocessing shader into includes 2019-03-18 21:40:10 -07:00
Patrick Walton 9025189650 Allow opening new SVGs in the Android port 2019-03-18 18:13:13 -07:00
Patrick Walton 49660a6b31 Add more Daydream VR support 2019-03-15 15:23:37 -07:00
Patrick Walton 5db7edad0b Add specific rendering methods for each eye 2019-03-14 20:15:48 -07:00
Patrick Walton e212a839b4 Get device orientation changes partially working 2019-03-14 19:13:27 -07:00
Patrick Walton f02e75edaf Use the gyroscope to look around on Android 2019-03-14 15:29:56 -07:00
Patrick Walton bb32777101 Initial work toward VR support 2019-03-14 14:42:22 -07:00
Patrick Walton 9c404dfdc1 Add an Android port 2019-03-12 13:55:26 -07:00
Patrick Walton d5effc35ae Invert control flow.
There's an issue whereby if keys are held down in the 3D mode it doesn't keep
redrawing. This will be fixed in a followup.
2019-03-08 12:45:10 -08:00
Patrick Walton d1728dfe6d Update the scalar SIMD fallback 2019-03-08 12:30:07 -08:00
Patrick Walton a74c0abbec Factor the SDL code out in preparation for other ports 2019-03-07 16:14:26 -08:00
Patrick Walton 25558c2177 Only emit warnings for non-empty `<defs>` nodes.
Inkscape likes to put empty `<defs>` nodes in the file, which don't do
anything, so we technically support them.
2019-03-07 11:24:20 -08:00
Patrick Walton 640ac61b8d Switch to a light background by default; fix 3D velocity 2019-03-07 11:15:43 -08:00
Patrick Walton b80ab2ad25 Only show the "Text Effects" button when a monochrome SVG is loaded 2019-03-06 19:35:57 -08:00
Patrick Walton 40209b6fe8 Show a warning when unsupported SVG features are used 2019-03-06 18:25:08 -08:00
Patrick Walton 6062676d0e Add tooltips to the buttons in the demo 2019-03-06 11:33:59 -08:00
Patrick Walton 4dff13ef00 Use an advancing cursor when laying out UI elements 2019-03-06 10:47:52 -08:00
Patrick Walton 8dc3a84d09 Remove `tile-svg` and the serialization code.
They can be added later if needed, but for now they're just bitrotting.
2019-03-05 15:38:10 -08:00
Patrick Walton 33aa6f905d Move UI event code and widgets to the `pathfinder_ui` crate 2019-03-05 15:36:07 -08:00
Patrick Walton ad0691c146 Move the generic UI code in the renderer crate to a separate crate 2019-03-05 15:13:55 -08:00
Patrick Walton e09b447d0d Move the contents of `gl::device` into `gl` 2019-03-05 14:51:29 -08:00
Patrick Walton f7a8b573ce Move the GPU rendering code out of `pathfinder_gl`, since it's now no longer
OpenGL-specific
2019-03-05 14:46:18 -08:00
Patrick Walton bc80490158 Remove raw GL code from the demo 2019-03-05 13:57:28 -08:00
Patrick Walton 6b9adcb6fc Fix GPU abstraction 2019-03-05 13:22:11 -08:00
Patrick Walton 8b4c06fe2a Do GL error checks 2019-03-04 19:43:13 -08:00
Patrick Walton ae450b063e WIP: Factor out GL code 2019-03-04 14:55:32 -08:00
Patrick Walton 64b480fe32 Some more work on the site 2019-03-01 14:58:02 -08:00
Patrick Walton dc69d1197e Tweak debug UI 2019-02-26 15:24:39 -08:00
Patrick Walton 18e0a06df8 Update the README for Pathfinder 3 2019-02-26 15:24:25 -08:00
Patrick Walton 92777c6346 Make rects rounded and optimize PNGs 2019-02-26 13:48:35 -08:00
Patrick Walton 5c7423d59c Add more statistics to the performance debug window 2019-02-25 16:12:47 -08:00
Patrick Walton 19c14da3aa Center the SVG in the 2D demo 2019-02-25 15:25:08 -08:00
Patrick Walton 550c9feb58 Move the device code in the demo into its own file 2019-02-25 15:14:40 -08:00
Patrick Walton ac24b67300 Add a simple SVG-subset-to-Skia-code tool, for benchmarking 2019-02-25 15:06:33 -08:00
Patrick Walton f6af769486 Add screenshot functionality. 2019-02-25 11:33:26 -08:00
Patrick Walton aef7dd1353 Allow the background color to be changed in the demo 2019-02-22 18:21:03 -08:00
Patrick Walton 1e3298fdb7 Switch to guard-band style clipping to eliminate artefacts 2019-02-22 13:15:00 -08:00
Patrick Walton e10e2e97d4 Tweak the camera transforms in the 3D view 2019-02-22 11:54:01 -08:00
Patrick Walton 0da196aa92 Scale the SVG appropriately in the demo 2019-02-21 20:19:42 -08:00
Patrick Walton b6e334a5bb Fix temporal inconsistency in the demo between transform applied between vector
scene and environment
2019-02-21 12:09:02 -08:00
Patrick Walton 66ee901e43 Close the path if necessary when rebuilding it for clipping 2019-02-21 11:42:48 -08:00
Patrick Walton fc62e9bc71 Subdivide offset curves to an error bound. 2019-02-20 18:27:27 -08:00
Patrick Walton 3a8478a048 Remove all Lyon dependencies.
We may want to re-merge at a later date, but for now all relevant algorithms
have been appropriately SIMD-ified.
2019-02-20 16:46:50 -08:00
Patrick Walton 23943c7428 Add a flag to specify whether contours are closed 2019-02-20 16:32:40 -08:00
Patrick Walton b9e3952246 Reimplement segment offsetting 2019-02-20 16:21:58 -08:00