aboutsummaryrefslogtreecommitdiff
path: root/pipermail/nel/2001-December/000828.html
diff options
context:
space:
mode:
Diffstat (limited to 'pipermail/nel/2001-December/000828.html')
-rw-r--r--pipermail/nel/2001-December/000828.html180
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,
+
+&gt;<i> Thank you everyone for the links. I'm afraid though that these terrain
+</I>&gt;<i> building packages generate height fields, and as you may or may not be
+</I>&gt;<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 !
+
+&gt;<i> 1. How much information of the CPatchInfo object must be filled in to
+</I>have
+&gt;<i> a viable object? sPatch gives me a 4x4 array of vertexes which I can use
+</I>to
+&gt;<i> populate the vertices, tangents, and interiors of the CPatchInfo object.
+</I>&gt;<i> However, I am still a bit unclear what much of the data in the CPatchInfo
+</I>&gt;<i> object is, especially the BindEdges (4 CBindInfo structs). Are these
+</I>filled
+&gt;<i> in when welding the zones together, or are they something I will need to
+</I>&gt;<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.
+
+&gt;<i> 2. Once I manage to export a .zone file, what's the quickest, dirtiest
+</I>way
+&gt;<i> to test it? Will I need to build an entire app just to load the .zone, or
+</I>&gt;<i> is there some way I can easily hack it into the Snowballs client just to
+</I>see
+&gt;<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>