diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /pipermail/nel/2001-December/000828.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to 'pipermail/nel/2001-December/000828.html')
-rw-r--r-- | pipermail/nel/2001-December/000828.html | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/pipermail/nel/2001-December/000828.html b/pipermail/nel/2001-December/000828.html new file mode 100644 index 00000000..c20e76fb --- /dev/null +++ b/pipermail/nel/2001-December/000828.html @@ -0,0 +1,180 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> + <HEAD> + <TITLE> [Nel] Landscapes without 3DSMax + </TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:corvazier%40nevrax.com"> + <META NAME="robots" CONTENT="index,nofollow"> + + <LINK REL="Previous" HREF="000827.html"> + <LINK REL="Next" HREF="000829.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[Nel] Landscapes without 3DSMax + </H1> + <B>Cyril 'Hulud' Corvazier + </B> + <A HREF="mailto:corvazier%40nevrax.com" + TITLE="[Nel] Landscapes without 3DSMax">corvazier@nevrax.com + </A><BR> + <I>Tue, 18 Dec 2001 20:20:34 +0100</I> + <P><UL> + <LI> Previous message: <A HREF="000827.html">[Nel] Landscapes without 3DSMax +</A></li> + <LI> Next message: <A HREF="000829.html">[Nel] Landscapes without 3DSMax +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#828">[ date ]</a> + <a href="thread.html#828">[ thread ]</a> + <a href="subject.html#828">[ subject ]</a> + <a href="author.html#828">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Hi Paul, + +><i> Thank you everyone for the links. I'm afraid though that these terrain +</I>><i> building packages generate height fields, and as you may or may not be +</I>><i> aware, NeL uses bezier patches, not height fields to generate its terrain. +</I> +You can build patches with an heightfield. It a fast way to generate +a simple lansdcape. Simply raise the tangeants vertices with the joined +vertices of a bezier patch : you have a heightfield ! + +><i> 1. How much information of the CPatchInfo object must be filled in to +</I>have +><i> a viable object? sPatch gives me a 4x4 array of vertexes which I can use +</I>to +><i> populate the vertices, tangents, and interiors of the CPatchInfo object. +</I>><i> However, I am still a bit unclear what much of the data in the CPatchInfo +</I>><i> object is, especially the BindEdges (4 CBindInfo structs). Are these +</I>filled +><i> in when welding the zones together, or are they something I will need to +</I>><i> fill in upon generating a single zone? +</I> +The BindEdges info are required to properly link patches together at +runtime. You have to filled them for internal zone linking. zone_welder will +fill them +of inter-zone link. Hear come some explications on how to fill the +CBindInfo. + +The patches can be linked those way : (warning ASCII arts in non-constant +size +fonts.. :-) ) + +--- + +The edge numbers are : + + 3 + *** +0 * * 2 + *** + 1 + +--- + +There is 3 ways to bind patches together. (1-1, 1-2, 1-4) + +--- + +One patch on another : + +********** +* * * +* 0 * 1 * +* * * +* * * +********** +CBindInfo: +Patch 0, edge 2 : NPatchs = 1, MultipleBindNum = 1, Next = { Patch 1 }, +Edge = { 0 } +Patch 1, edge 0 : NPatchs = 1, MultipleBindNum = 1, Next = { Patch 0 }, +Edge = { 2 } + +--- + +Two patches on another (Bind 2) + +********** +* * 1 * +* 0 ****** +* * 2 * +********** +Bind info: +Patch 0, edge 2 : NPatchs = 2, MultipleBindNum = 1, Next = { Patch 1, Patch +2 }, Edge = { 0, 0 } +Patch 1, edge 0 : NPatchs = 1, MultipleBindNum = 2, MultipleBindId = 1, +Next = { Patch 0 }, Edge = { 2 } +Patch 2, edge 0 : NPatchs = 1, MultipleBindNum = 2, MultipleBindId = 0, +Next = { Patch 0 }, Edge = { 2 } + +--- + +4 patches on another (Bind 4) + +********** +* * 1 * +* ****** +* * 2 * +* 0 ****** +* * 3 * +* ****** +* * 4 * +********** +Patch 0, edge 2 : NPatchs = 4, MultipleBindNum = 1, Next = { Patch 1, Patch +2, Patch 3, Patch 4 }, Edge = { 0, 0, 0, 0 } +Patch 1, edge 0 : NPatchs = 1, MultipleBindNum = 4, MultipleBindId = 3, +Next = { Patch 0 }, Edge = { 2 } +Patch 2, edge 0 : NPatchs = 1, MultipleBindNum = 4, MultipleBindId = 2, +Next = { Patch 0 }, Edge = { 2 } +Patch 3, edge 0 : NPatchs = 1, MultipleBindNum = 4, MultipleBindId = 1, +Next = { Patch 0 }, Edge = { 2 } +Patch 4, edge 0 : NPatchs = 1, MultipleBindNum = 4, MultipleBindId = 0, +Next = { Patch 0 }, Edge = { 2 } + +--- + +Note that zone_welder welds automaticaly the zones together but don't +generate bind info for internal patch linking in a zone. +It searches for shared vertices in the 2 zones and weld them. Zone_welder +can perform only 1-1 bind type. + +I hope this is understandable, don't hesitate to ask for details. + +><i> 2. Once I manage to export a .zone file, what's the quickest, dirtiest +</I>way +><i> to test it? Will I need to build an entire app just to load the .zone, or +</I>><i> is there some way I can easily hack it into the Snowballs client just to +</I>see +><i> if it indeed exported a valid file? +</I> +You can replace a zone in snowball, or make a simple application to see +the zone. If you want, i can post a peace of code for a small app. + +Cyril Corvazier + + + +</pre> + + + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI> Previous message: <A HREF="000827.html">[Nel] Landscapes without 3DSMax +</A></li> + <LI> Next message: <A HREF="000829.html">[Nel] Landscapes without 3DSMax +</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#828">[ date ]</a> + <a href="thread.html#828">[ thread ]</a> + <a href="subject.html#828">[ subject ]</a> + <a href="author.html#828">[ author ]</a> + </LI> + </UL> +</body></html> |