• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: VWR-7678
Type: Meta Issue Meta Issue
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Yichard Muni
Votes: 10
Watchers: 3
Operations

If you were logged in you would be able to see more operations.
1. Second Life Viewer - VWR

Avatar improvements: using NURBs technology

Created: 09/Jun/08 12:15 AM   Updated: 02/Sep/08 08:04 AM
Return to search
Component/s: Avatar/Character
Affects Version/s: None
Fix Version/s: None

Environment: any


 Description  « Hide
avatars really need to be remake (see VWR-1258, VWR-7630) due to old technology and need for better rendering and better performances.

Avatars are made from a mesh of triangles, and this poses many problems, that using NURB technology would solve.

(definitions: Meshes are shapes which are defined by point coordinates and triangular faces, on which textures are applied. A mesh rendering is independent of distance. NURBs are shapes which are defined by a mathematical equation (polynomial). When rendering, a NURB is transformed in a triangle mesh (tesselation) where there are many triangles for close shapes or sharp curves, and less triangles for far shapes or flat surfaces.)

discussion:
Pros:
-NURB rendering automatically accounts with the distance: a far avatar would have less triangles than a close one (less lag inducing) while a very close av would keep a very smooth shape, without showing angular or blocky shapes. This would make impostor useless (VWR-7630) or the NURB renderer could cosider that a far av is "flat", making it equicalent to an impostor.
-there would be much more freedom for body shapes, without making body parts loking angular or overstretched (VWR-1258)
-on the reverse when body shapes are smaller, rendering would use much less triangles than the equivalent mesh.

Cons:
probably, at the most common distance, NURB would use more CPU power than the equivalent meshes, but this is a case among others, for instance when we speak with 1-2 persons at a distance of 2-3m. But this situation is not the most lag-prone. In the most laggy situations (bals, parties, conferences, concerts, lessons, meetings) we have some very close avs and many more far (5-15m) where NURBS would use much less calculation power than the classical mesh. Anyway far avs could use a simplified "flat" NURB rendering, more or less equivalent to the impostor



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Strife Onizuka added a comment - 09/Jun/08 11:39 AM
The avatar mesh have Levels of Detail built into them and avatar impostors are a good stop gap between distance and avatar count.
The problem of blocky shapes could be solved by adding more detailed levels of detail for avatars. Doing so is relatively easy.

Cons: Implementing NURBs would be a huge change and require a lot of work for something that may not actually pan out.


Haravikk Mistral added a comment - 02/Sep/08 07:35 AM
Rendering multiple avatars on screen at once is a huge performance hit as it is, NURBS would make even simple ones more costly =(

I agree with Strife in this case, that a higher-resolution version of the same avatar mesh should be created, so we can have more levels of detail. Or perhaps better would be a new avatar model, or some way to better handle certain areas of the avatar that get messed up easily, mainly the groin as leg movements cause some horrible stretching and can result in some very angular, odd-looking surfaces.


Yichard Muni added a comment - 02/Sep/08 08:04 AM
The main difference between a mesh with LOD and a NURB is that, for the NURB, the appropriate level of detail is created automatically. And it is created automatically, not only with distance, but also when a peculiar part of the body is overstretched, from the avatar shape (like big boobs, VWR-1258) or the movement (pointy butt when sitting).

A tradeoff would probably be to have a NURB only at a close distance, 2-3m max. We seldom have many avs at such a low distance, but when this happens, we enjoy all the correct details in body shapes. WE could also propose NURBS as an option when the ordinary mesh don't work.

Rewriting the standard av mesh would be good too, as we have some cases of bad triangulation, even with a medium sized avatar standing upright, such as in the groin. Often textures appear oddly stretched, or a round nipple appears triangular.

Anyway this discussion is about a possible implementation of NURBS in some future, it is not an urgent request.