Forum
Contact





DirectX using C#
DirectX using C++
DirectX using Visual Basic



Latest Forum posts

 Backup DVD Escape Plan
  Posted by: Applefly
  When: 17/04/2014 at 06:00:12

 Disney DVDs to MP4
  Posted by: Applefly
  When: 17/04/2014 at 05:56:07

 DVD movies through media streamer
  Posted by: VIKIVannessa
  When: 16/04/2014 at 02:25:09

 DVD movies to play on Galaxy Tab 3 10.1
  Posted by: VIKIVannessa
  When: 16/04/2014 at 02:20:51

 Blu-ray to Apple ProRes
  Posted by: Applefly
  When: 12/04/2014 at 00:47:46

 HD H.264 MP4 format
  Posted by: Applefly
  When: 12/04/2014 at 00:43:23

 DVD collection to computer
  Posted by: VIKIVannessa
  When: 04/04/2014 at 07:13:33

 DVD movies to play on Galaxy Tab 3 10.1
  Posted by: VIKIVannessa
  When: 04/04/2014 at 07:11:27

 DVD movies to play on Galaxy Tab 3 10.1
  Posted by: VIKIVannessa
  When: 04/04/2014 at 07:11:27

 DVD Ripper to populate
  Posted by: Applefly
  When: 04/04/2014 at 05:01:35

 kids and family watch DVD
  Posted by: Applefly
  When: 04/04/2014 at 04:59:21

 Blu-ray movie for your lovely kids
  Posted by: VIKIVannessa
  When: 02/04/2014 at 05:47:49

 DVD to DNxHD Converter for Mac
  Posted by: VIKIVannessa
  When: 02/04/2014 at 05:46:04

 play HD Videos on Galaxy
  Posted by: Applefly
  When: 01/04/2014 at 03:16:39

 video on iPhone 6
  Posted by: Applefly
  When: 01/04/2014 at 03:15:18

 MessageBox
  Posted by: net777
  When: 31/03/2014 at 03:34:55

 Play MVI/MKV/AVI on Galaxy NotePro 12.2
  Posted by: VIKIVannessa
  When: 31/03/2014 at 01:30:21

 Create family videos with iMovie on Mac
  Posted by: VIKIVannessa
  When: 31/03/2014 at 01:29:25

 WMV format from DVD
  Posted by: Applefly
  When: 28/03/2014 at 02:55:09

 BD/DVD to FCP X
  Posted by: Applefly
  When: 28/03/2014 at 02:53:35




Topic: Question about the height attribution



  
Goto parent category
  
Create a new user account


   Question about the height attribution
 Poster : pnsm
 Posts: 1
 Country :
 City:

  
Posted by pnsm on 20/04/2008 at 21:38:33
My question is, in this code block

terrainVertices[x + y * WIDTH].TexWeights.X = MathHelper.Clamp(1.0f - Math.Abs(heightData[x, y] - 0) / 8.0f, 0, 1);
         terrainVertices[x + y * WIDTH].TexWeights.Y = MathHelper.Clamp(1.0f - Math.Abs(heightData[x, y] - 12) / 6.0f, 0, 1);
         terrainVertices[x + y * WIDTH].TexWeights.Z = MathHelper.Clamp(1.0f - Math.Abs(heightData[x, y] - 20) / 6.0f, 0, 1);
         terrainVertices[x + y * WIDTH].TexWeights.W = MathHelper.Clamp(1.0f - Math.Abs(heightData[x, y] - 30) / 6.0f, 0, 1);


How do we get to the constant values "8.0f" and "6.0f" that are deviding the values before they are clamped.

Any insight would be apreciated.
 Poster : riemer
 Posts: 1392
 Country : Belgium
 City: Antwerp

  
Posted by riemer on 21/04/2008 at 12:44:05
These lines calculate the WEIGHTS for each of your textures at the specific vertex (and not the heights ;)

The code corresponds to figure A on the tutorial page.
Let's examine line 2. Math.Abs(heightData[x, y] - 12) results in 0 if the height is 12, and decreases as height gets lower or higher.

Math.Abs(heightData[x, y] - 12) / 6.0f will be 0 if height is 12, and will be 1 when height is 6 or 18. Thus the 6.0f sets the width of the range where this weight will be between 0 and 1.

1.0f - Math.Abs(heightData[x, y] - 12) / 6.0f inverts the story: it will be 1 of height equals 12, and 0 if height will be 6 or 18. If height is smaller than 6 or larger than 18, it will be a negative value.

By clamping this between the 0 and 1 region, all negative values are clamped to 0.

This corresponds perfecty with the the Grass(Y) triangle in figure A. You see that this triangle is max at height = 12, and 0 when height is 6 and 18.
 Poster : Anonymous
 Posts:
 Country :
 City:

  
Posted by Anonymous on 13/07/2011 at 20:40:11
Wow! That's a rellay neat answer!

  
Post a new reply
 





Google
 
Web www.riemers.net
If you appreciate the amount of time I spend creating and updating
these pages, feel free to donate -- any amount is welcome !
- Website design & DirectX code : Riemer Grootjans -
©2006 Riemer Grootjans


News
Home
Forum
XNA 2.0 Recipes Book (8)
XNA 3.0 Recipes Book (8)
Downloads
Extra Reading (3)
Matrices: geometrical
Matrix Mathematics
Homogenous matrices
Community Projects (1)
Tutorials (160)
XNA 4.0 using C# (89)
DirectX using C# (54)
Series 1:Terrain (14)
Opening a window
Linking to the Device
Drawing a triangle
Camera
Rotation - Translation
Indices
Terrain creation
Terrain from file
DirectInput
Importing bmp files
Colored vertices
DirectX Light basics
Mesh creation
Mesh lighting
Series 2: Flightsim (19)
Series 3: HLSL (19)
Short Tuts (2)
Resizing problem
Checking Device caps
DirectX using C++ (15)
DirectX using VB (2)