What is the situation now, did any of the game engine developers do a full ...
11 years, 2 months ago
(2013-09-08 14:21:11 UTC)
#3
What is the situation now, did any of the game engine developers do a full
review here yet, or the summer of code mentor? If not I'll make some time next
week to do a review here.
Two quick questions:
* Did you test this with amature deform and modifiers on the LOD objects, does
that all work ok?
* I can't see any "hysteresis threshold", to avoid LOD flipping back and forth
when moving near the distance threshold?
Mitchell Stokes did a review for the BGE parts of the patch. Joerg Mueller (my ...
11 years, 2 months ago
(2013-09-08 21:55:06 UTC)
#4
Mitchell Stokes did a review for the BGE parts of the patch. Joerg Mueller
(my mentor) took a quick look over the patch and said it looked fine to him
(response was on the IRC and not on the code review page). Your review
would be greatly appreciated.
I have done some testing with modifiers (I believe the subsurf and decimate
modifiers worked as intended) but I can do some more testing, especially
for armatures.
The hysteresis threshold sounds like a great idea, I will try to get that
implemented on Monday (Pacific Standard Time).
On Sun, Sep 8, 2013 at 7:21 AM, <brechtvanlommel@gmail.com> wrote:
> What is the situation now, did any of the game engine developers do a
> full review here yet, or the summer of code mentor? If not I'll make
> some time next week to do a review here.
>
> Two quick questions:
> * Did you test this with amature deform and modifiers on the LOD
> objects, does that all work ok?
> * I can't see any "hysteresis threshold", to avoid LOD flipping back and
> forth when moving near the distance threshold?
>
>
https://codereview.appspot.**com/12216043/<https://codereview.appspot.com/122...
>
A big problem with the viewport display of levels of detail is that it's not ...
11 years, 2 months ago
(2013-09-13 17:05:49 UTC)
#6
A big problem with the viewport display of levels of detail is that it's not
working well with the (soon to be multithreaded) dependency graph and dupli
system.
It works now for simple setups, because mesh_get_derived_final will compute the
derivedmesh on the fly. However for correct results with dependencies and
multithreading all derivedmeshes should have been evaluated beforehand in
scene_update_tagged_recursive.
This is a problem because we don't know before drawing which LoD levels will be
needed. I'm not sure what the solution is here..
The other thing is that if you use LoD now, it will still evaluate the full
resolution mesh everytime. I guess if this is some kind of preview for the game
engine that's ok, but if you wanted to use this to speed up editing, it's not
going to help with that.
The simple way to make it show correct results and work with the depsgraph would ...
11 years, 2 months ago
(2013-09-14 02:29:11 UTC)
#7
The simple way to make it show correct results and work with the depsgraph would
be to add dependencies from an object to all its LoD objects. The problem then
is of course performance, you're evaluating the modifiers for all LoD objects
even if they are not going to be displayed. That defeats the point of using LoD
in the viewport for better performance, though I guess it's mainly intended for
the game engine. If it was implemented that way though you'd probably want an
option to turn off LoD for the entire scene.
I wonder how this works in the game engine. What happens if you use LoD on an
object deformed by an armature or using shape keys? Would it be evaluating that
for all LoD levels even if the object isn't visible? Or is LoD only working for
static objects?
11 years, 2 months ago
(2013-09-14 02:35:49 UTC)
#9
https://codereview.appspot.com/12216043/diff/1/source/blender/blenloader/inte...
File source/blender/blenloader/intern/readfile.c (right):
https://codereview.appspot.com/12216043/diff/1/source/blender/blenloader/inte...
source/blender/blenloader/intern/readfile.c:5038: ob->currentlod =
ob->lodlevels.first;
On 2013/09/13 16:57:49, brechtvl wrote:
> You need to add code to expand_object to ensure LoD objects get linked in
along
> with the main object.
Is there some documentation to help me understand this part of the code better?
Also what should currently be breaking with things as they are so I can be sure
to test if I have done things properly? I have been able to save and load files
with level of detail systems as well as link them into other blend files.
11 years, 2 months ago
(2013-09-16 12:20:12 UTC)
#10
On 2013/09/14 02:35:49, Kupoman wrote:
>
https://codereview.appspot.com/12216043/diff/1/source/blender/blenloader/inte...
> File source/blender/blenloader/intern/readfile.c (right):
>
>
https://codereview.appspot.com/12216043/diff/1/source/blender/blenloader/inte...
> source/blender/blenloader/intern/readfile.c:5038: ob->currentlod =
> ob->lodlevels.first;
> On 2013/09/13 16:57:49, brechtvl wrote:
> > You need to add code to expand_object to ensure LoD objects get linked in
> along
> > with the main object.
>
> Is there some documentation to help me understand this part of the code
better?
> Also what should currently be breaking with things as they are so I can be
sure
> to test if I have done things properly? I have been able to save and load
files
> with level of detail systems as well as link them into other blend files.
When I link an object with LoD levels from another file, its LoD level objects
are not linked in along with it now, the object pointers are cleared.
expand_object should call expand_doit on all other datablocks that it wants to
be linked in automatically along with itself.
On 2013/12/15 15:13:49, brechtvl wrote: > What is the status here? This seems close to ...
10 years, 11 months ago
(2013-12-16 08:44:01 UTC)
#12
On 2013/12/15 15:13:49, brechtvl wrote:
> What is the status here? This seems close to ready for 2.70, just some minor
> things to fix?
As far as I know most (if not all) of the issues were addressed except for
potential conflicts with depsgraph refactors. I have created a Differential
Revision to continue this process on the new tools:
http://developer.blender.org/D109
Hopefully I did it correctly.
Issue 12216043: gsoc-2013-bge-lod
Created 11 years, 3 months ago by Kupoman
Modified 10 years, 11 months ago
Reviewers: bf-codereview-request_blender.org, Moguri, brechtvl
Base URL: https://svn.blender.org/svnroot/bf-blender/trunk/blender/
Comments: 32