Commit Graph

9886 Commits

Author SHA1 Message Date
Yao Wei Tjong 姚伟忠
be87f315f2 For CI - misc. post-mortem fixes. 2017-08-20 16:43:33 +08:00
Rokas Kupstys
f8097b976a After rendering to texture restore previous render surface if UI subsystem was called with resetRenderTargets=false. 2017-08-20 11:04:43 +03:00
Rokas Kupstys
6fc2c19baa More code cleanups.
* Moved `UIComponent::GetViewport()` to `Scene` class.
* Simplified resource initialization of `UIComponent` and removed need of overriding `IsEnabled()`.
* Renamed `UIComponent::GetElement()` to `GetRoot()` to be more consistent with UI subsystem.
* Removed ability to set root UI element to `UIComponent`, instead to add UI elements should be added as children to element renturned by `UIComponent::GetRoot()`.
* Cleaned up debug rendering in HelloGUI sample. Debug data is now rendered after pressing F2.
2017-08-20 10:55:58 +03:00
Lasse Öörni
50dd3fd3c9 Fix memory backtrace option (Linux-only) getting enabled on non-Unix platform in debug build. 2017-08-19 20:38:45 +03:00
Rokas Kupstys
16ee7e1121 * Changed UIComponent::IsValid() to overriden UIComponent::IsEnabled()
* Separated batches and vertex buffers of normal UI and UI rendered to texture.
* Cleaned up `Render()` method adding additional `surface` parameter to render into. Passing null renders on to screen.
Support for rendering UI to texture.

This change adds support for rendering GUI into a texture. This is achieved by adding `UIComponent` component to `Node`. `UIComponent` overrides material of `Node`'s `StaticModel`. UI subsystem is changed so that batches belonging to UI elements owned by `UIComponent` are rendered into a texture that is also contained in `UIComponent`. Input is handled by UI subsystem, so anything that worked on normal UI will work on UI rendered on to 3D object. This required a minor change for input handling. Previously "screen" was considered surface of entire window. Now screen is considered area of root_element_position + root_element_size. This is fully backwards-compatible.

There is one issue i am unable to solve: since on OpenGL texture coordinates start from bottom-left corner a workaround is needed. Texture is flipped by projection matrix, however it breaks scissor test. I do not know how to properly fix it therefore scissor test is disabled when rendering into texture on OpenGL. Issue is clearly visible when scrolling a `ListView` in `HelloGUI` sample when UI is rendered on to a cube.

Other changes: lua and angelscript bindings, HelloGUI sample can toggle between rendering on screen or rendering on cube, added a ListView to HelloGUI sample window. `UI::DebugDraw()` support.
2017-08-19 20:33:00 +03:00
Lasse Öörni
12c394232c Disable verbose debug output (z_verbose & z_error) from FreeType's zlib, to make sure it doesn't clash with Assimp's zlib in a debug build. 2017-08-19 19:56:06 +03:00
Lasse Öörni
4612ee2a67 Cutoff current state of porting notes to 1.7 version. 2017-08-19 18:55:51 +03:00
Lasse Öörni
2ac4f89a86 Reorder changelog sections for consistency with last changelog. 2017-08-19 14:36:37 +03:00
urho3d-travis-ci
c4ebdf9424 Travis CI: API documentation update at 2017-08-19 08:04:29 UTC.
[ci package]

Commit: 05452b8bd1

Message: Refactor IntegerLog2() to LogBaseTwo() for performance and consistency.
2017-08-19 08:04:29 +00:00
Yao Wei Tjong 姚伟忠
05452b8bd1 Refactor IntegerLog2() to LogBaseTwo() for performance and consistency. 2017-08-19 15:43:38 +08:00
Yao Wei Tjong 姚伟忠
9dfff67e97 Support Web build tree path with spaces.
Fix #2078.
2017-08-19 15:12:33 +08:00
Yao Wei Tjong 姚伟忠
3e58ccf41c Revert "Remove temporary workaround which appears to be redundant now."
This reverts commit 4068d2474e.
2017-08-19 15:11:21 +08:00
Lasse Öörni
4265f99a8c Fix normals / lighting on the cylinder by using auto normal smoothing. Closes #2075. 2017-08-18 22:40:13 +03:00
Lasse Öörni
e877b98544 Typo fix and highlight WebAssembly. 2017-08-18 10:00:59 +03:00
Lasse Öörni
f644b7b87f Initial V1.7 changelog. 2017-08-17 23:00:31 +03:00
Yao Wei Tjong 姚伟忠
0d7d0e573d Generate a dummy/initial PCH when using out-of-source build tree only.
Fix #2068.
2017-08-17 07:07:38 +08:00
Lasse Öörni
9575cd6539 Remove joke to keep in line with rest of documentation. 2017-08-16 18:55:46 +03:00
Lasse Öörni
144108a1f3 Merge remote-tracking branch 'TheComet93/IKDoc' 2017-08-16 18:38:55 +03:00
Lasse Öörni
18d5ce2fed Remove unnecessary VS defines from PBR techniques. 2017-08-16 13:26:45 +03:00
Lasse Öörni
c2c1d06cd2 Remove unused IBL code which requires tangents / bitangents, and do not require tangents for IBL / non-normalmapped. Fix PBR techniques so that VS also refers to NORMALMAP define when necessary, since that is now required to trigger the tangent calculation. Closes #2072. 2017-08-16 11:26:51 +03:00
TheComet
8f4b77aa34 Finished IK documentation 2017-08-15 21:52:51 +02:00
TheComet
b4fc4c28b6 Documenting IK some more... 2017-08-15 00:34:48 +02:00
TheComet
1695a263db Working on IK documentation... 2017-08-15 00:34:48 +02:00
Yao Wei Tjong 姚伟忠
848f52fbe9 For CI - attempt to implement the conditional build stage on our own.
This is to fix packaging build on OSX build environment where they were running out of time in the absense of the pre-cache stage.
[ci package] test that it does not trigger on a branch.
2017-08-14 09:01:30 +08:00
Lasse Öörni
c1630d8d8d Merge pull request #2067 from TheComet93/iss2054
IKEffector target bug fix
2017-08-13 16:24:46 +03:00
Lasse Öörni
6af97c59b6 Remove setting certain RigidBody boolean flags when UpdateMass() readds the body to world, to avoid introducing potential new bugs. 2017-08-13 15:40:39 +03:00
TheComet
cdbfd83e4a fixes #2054 - If there was a node in the scene with an empty name, IKEffector would always select that node as a target 2017-08-13 14:04:27 +02:00
urho3d-travis-ci
2da19c1ab6 Travis CI: API documentation update at 2017-08-12 13:56:05 UTC.
[ci package]

Commit: d537c2027a

Message: Merge pull request #2061 from eugeneko/navmesh-streaming

Navmesh streaming
2017-08-12 13:56:05 +00:00
Eugene Kozlov
d537c2027a Merge pull request #2061 from eugeneko/navmesh-streaming
Navmesh streaming
2017-08-12 15:52:35 +03:00
Lasse Öörni
63724fcdc3 Remove unnecessary parameter from the bugfix code. 2017-08-12 15:14:01 +03:00
Lasse Öörni
ad3a30f2e3 If Rigidbody's collisionshape changes, readd to world. Fixes #2064. 2017-08-12 13:41:24 +03:00
Yao Wei Tjong 姚伟忠
4068d2474e Remove temporary workaround which appears to be redundant now. 2017-08-10 23:22:56 +08:00
urho3d-travis-ci
768b6ddf5a Travis CI: API documentation update at 2017-08-09 19:56:06 UTC.
[ci package]

Commit: 787ce41a81

Message: Merge remote-tracking branch 'TheComet93/iss2058'
2017-08-09 19:56:06 +00:00
Lasse Öörni
787ce41a81 Merge remote-tracking branch 'TheComet93/iss2058' 2017-08-09 22:19:33 +03:00
TheComet
e419afa30b Fixing grammar error, making feature flags boolean in lua script bindings 2017-08-09 00:09:11 +02:00
Eugene Kozlov
f7b98fea74 Use VectorBuffer for Lua NavigationMesh API. 2017-08-08 23:01:08 +03:00
Eugene Kozlov
ef3b6efd96 Add streaming mode to Lua samples 15_Navigation and 39_CrowdNavigation. Minor changes. 2017-08-08 01:34:57 +03:00
Eugene Kozlov
e110998f70 Update Lua bindings. 2017-08-08 01:34:57 +03:00
Eugene Kozlov
4403b99cbd Remove separate navigation streaming samples. 2017-08-08 01:34:57 +03:00
Eugene Kozlov
f84e9d1392 Add streaming mode to C++ samples 15_Navigation and 39_CrowdNavigation . Fix using outdated navigation mesh data for streaming. 2017-08-08 01:34:57 +03:00
Eugene Kozlov
20d2133f13 Add streaming mode to AS sample 15_Navigation. 2017-08-08 01:34:57 +03:00
Eugene Kozlov
f7573971f4 Update Navigation AS API. Add streaming mode to AS sample 39_CrowdNavigation. Disable bounding box padding on NavigationMesh::Allocate. Send E_NAVIGATION_MESH_REBUILT on NavigationMesh::Allocate. 2017-08-08 01:34:56 +03:00
Eugene Kozlov
db7d92e419 Fix stuck CrowdAgent-s after NavigationMesh::AddTile. 2017-08-08 01:34:56 +03:00
Eugene Kozlov
2073349613 Partially revert commit a8a29d7 due to broken off-mesh movement. 2017-08-08 01:34:56 +03:00
Eugene Kozlov
6f57b5b4e5 Add events for navigation mesh tile operations. Fix obstacles rendering into newly added tiles. 2017-08-08 01:34:56 +03:00
Eugene Kozlov
214dcc6638 Fix C++98 compilation. 2017-08-08 01:34:56 +03:00
Eugene Kozlov
e85e9d897c Add support of sparse navigation meshes and dynamic tile management. Add two examples based on 15_Navigation and 39_CrowdNavigation. 2017-08-08 01:34:56 +03:00
Eugene Kozlov
e963e89f47 Copy 15_Navigation and 39_CrowdNavigation samples. 2017-08-08 01:34:56 +03:00
TheComet
e134de1b18 Updating sample scripts 2017-08-06 17:09:27 +02:00
TheComet
c43b269845 Updating script APIs, making sure sample compiles, see thread on the forum for more info 2017-08-06 17:08:14 +02:00