Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Discussion / Memblock Matrix in DBC

Author
Message
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 9th Nov 2004 21:47 Edited at: 24th Nov 2004 22:50
[Edited the 11/24/2004]
Final version code is released! See at the end of this thread.
[/Edit]

In a thread from Darkguy in june 2004:
http://forum.thegamecreators.com/?m=forum_view&t=32995&b=10
->Arkheii and Phaelax worked together and proposed a brilliant piece of code to create a "matrix-like" object from a memblock in DB classic (enhanced). Very fine.

But the snippet is quite "unfinished". And the Codebase doesn't contain any entry for DBC for this subject.

So I wonder: Has anyone gone any further with DBC memblock matrices ?

(And for those who seek something to begin with, I've attached the piece of code that Arkheii put up the last time.)

Ideas: memories of things which did not occur yet...
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 10th Nov 2004 23:17 Edited at: 10th Nov 2004 23:20
OK, I've worked on Arkheii's code a bit, and I've spotted three problems:

1 - There's a typo in the definition of the normal of each vertex (a "copy/paste" error, I think): Arkheii used then x/z coordinates of the vertex, whereas the normals should always be 0,1,0 for an horizontal polygon (cos' the normal is a perpendicular vector of the face).

2 - Arkheii's code defines way too many vertex (should I say "verteces"? Or "vertices"? ). Actually, its mesh looks more like a collection of independant plains than like a grid. In fact, in the case of a point surrounded by four faces, the code creates four vertices where one could suffice (the four faces share the same vertex).

3 - In the header, Arkheii's code defines the size of the faces'info in bytes (just as for the vertex info). But this size must be defined in Dwords (=4 bytes!). So, in the header, the face size was four times larger than it should have been; I suspect this might have caused some of the severe exceptions I've encountered...

So, I've worked a little more and here's some code to test (an include file which contains the basic functions to manage a "memblock matrix", and two little programs to test them - see the attached file under the "download" button, in the lower right corner of this post).
It's more stable, and generates "matrix-like" objects that can be rotated, faded, textured like any other objects.

There's quite few functions: create, set height, get height, and randomize (browse the include to learn more). I intend to add the "shift" functions and "tile texturing" capabilities, but first I need to know if it's worth the pain.

Could you benchmark the code and tell me if the "memblock matrix" are faster than the usual ones ?

Thanks

Ideas: memories of things which did not occur yet...

Attachments

Login to view attachments
Red Ocktober
21
Years of Service
User Offline
Joined: 6th Dec 2003
Location:
Posted: 10th Nov 2004 23:40 Edited at: 10th Nov 2004 23:52
how timely K... i'm just looking at alternative methods of implementing a wavelike ocean with movable textures or shader effects that seem to work on objects only (in the DBPro forum)...

this method, as suggested by Raven... or something similar may provide a solution...

1- do you think that the code will work in DBPro as well...

2- where is the code that you modded... i don't see it on the last post above... [added] disregard... i see the link now... my, you're fast

[added] usualtest ran fine in DBPro mbmatrix crashed...

--Mike
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 10th Nov 2004 23:54
No, it won't work in DBpro, because the memblock structure for a mesh is different (it stores more infos, like vertices color and others, I think...).

But there's some really good code for DBpro in the snippet forum (by Phaelax, or Kevil...). I've made mine 'cos it didn't exist for DBC yet...

I hope it helps.

Ideas: memories of things which did not occur yet...
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 11th Nov 2004 00:08
I believe Kevil did something similar before me, and VanB about the same time as me.(holiday)

memblock matrix is faster, up to a certain size.

I suppose I could go back and take a look at classic's mesh structure.

"eureka" - Archimedes
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 12th Nov 2004 16:52
You're right, Phaelax; I've read all the posts (I think).
But your work, as Kevil and VanB's one, is designed for DBpro; there's nothing for DBce, I believe.

If you take a look at the mesh structure in DBce, you'll see that it's much simplier than DBpro's one: no vertex color, no texture info except UV mapping, etc... The only trick I found was the "face info" size in the header (expressed in Dwords, not in bytes).

Anyway, any help will be welcomed (especially yours, considering your experience ).
I think I'll need advices for the normals management: when I change the height of a point, the matrix shows no shadow. Do I have to re-calculate the faces' normals around the heightened point ?

Ideas: memories of things which did not occur yet...
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 12th Nov 2004 21:21 Edited at: 13th Nov 2004 00:19
I'm learning things...

Until now, the "memblock matrix" I've created was textured just like a big plain: the texture covered all the object.
Then I tried to implement "tile mapping" (like in the DB matrix, more useful to texture landscape), and I understood why Arkheli was "duplicating" vertices: UV mapping infos are stored for each vertex, not for faces. Thus, when several faces share the same vertex, you can't map a face without altering the adjacent ones (I've tried, and believe me, it's ugly...).
So Arkheii was right and I was wrong, and I should have shut my mouth ; now I'll follow the way of the elders and duplicate vertices too...

I'll put some code here when it's done (soon).

Ideas: memories of things which did not occur yet...
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 13th Nov 2004 00:18 Edited at: 13th Nov 2004 00:18
Ok, here's the new version of my memblock matrix. The include file and a little prog to test it can be found under the "download" button, in the lower right corner of this post.

This time, it's possible to "tile-map" it like the DB matrix. But I've tweaked the function a bit: you can (in one call) map a rectangle of X by Z squares with a zone of X by Y pixels of your texture image.

What's left? The "shift" functions, and the normals calculations (this latter feature seems to lack in the DB matrix...). If can get the grip on the normals, this could mean "smoothed" matrices: no more sharp lines in your landscapes!

But I need help for this, so if someone can tell me how to calculate a vertex normal, I will gladly kiss him! (or "her" if I'm lucky... )

Ideas: memories of things which did not occur yet...
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 13th Nov 2004 20:41 Edited at: 13th Nov 2004 22:01
umm, what download button? I think you forgot something buddy.

Quote: "If you take a look at the mesh structure in DBce, you'll see that it's much simplier than DBpro's one"

Just looked at it, and it's a friggin mess! I'm glad he changed the structure. Why would you need the number of normals? Obviously, its going to be the same as number of vertices. Well, I guess not. This structure does allow you to reuse data, which is good since vertices aren't shared with each other. Kind of curious as to why the face data contains info for verts and normal, but doesn't include UV in it. And no diffuse color? crap! That sucks!
I'm working on it now. Just about done with building the basic matrix, err I mean memtrix.

"eureka" - Archimedes
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 13th Nov 2004 23:06
Hmmm, for the face data, I wonder if its a 2-byte word or 4-byte dword?

"eureka" - Archimedes
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 13th Nov 2004 23:58
Ah crap. I've run into a problem. Unless I'm blind and stupid, there's no "make object from mesh" command. I see a "make mesh from object/memblock" and "change mesh". So umm, other than that, I think I've got it written out. Because the face data points to memory indices, I assumed only 2byte words were used.



"eureka" - Archimedes
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 15th Nov 2004 16:22 Edited at: 15th Nov 2004 16:35
Oups, 'forgot to attach to code to my latest post...

Sorry, here it is.

Phaelax:
There's a "make object p1,p2,p3" command: p1 is the object number, p2 is the mesh number, p3 is an image number (used to texture the object). And I think that face datas are 4 bytes Dwords.
You can take a look at my code (this time, there is a download button...)

Ideas: memories of things which did not occur yet...

Attachments

Login to view attachments
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 16th Nov 2004 04:41 Edited at: 16th Nov 2004 06:07
Face size is specified in dwords? how'd you figure that one out?
I keep getting a severe exception with my code.

You calculated the number of verts differently than me. For a 2x2 mesh, you'd have 16verts. Which means some verts would have duplicate data. I believe the point of the "Face data" section using the index of a vert is so that you don't have to keep duplicate values. Since I assume that you can share the verts in this way, a 2x2 mesh would have 9 verts by my method. (xsegs+1)*(zsegs+1)

bah! my memory locations are completely and utterly WRONG!(in the FOR loops) Hopefully, that's the only problem.

"eureka" - Archimedes
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 16th Nov 2004 05:42 Edited at: 16th Nov 2004 06:07
ohhhh. so the vert index isn't a memory location. stupid db help files could be a little more clear about things.



I position a cube at every vert I made. The positions are obviously correct, its the stupid face data that must be screwing things up. Look at the object it creates. Nowhere in my code have a set any Y-coordinate of a vertex anything but 0. Yet somehow its creating the weirdest abstract thing.


"eureka" - Archimedes
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 16th Nov 2004 16:13 Edited at: 16th Nov 2004 16:14
Hi Phaelax!
I've tried your code, and yes, the result is strange (though not completly unaesthetic in a "Picasso-ish" sorta way...). The little cubes show that the x,z coords are right, so I think the errors come from the memblock location to which you write these coords: somewhere you must "push" them one Dword to the left or to the right, so that a vertex x coord become y coord, y become z, and so on...
Here's a corrected version of your code:


Now, let's answer your other questions:

How did I figure that face size is specified in dwords?
Quite easy: I've created a 3x3 plain in milkshape, exported it in 3DS format, loaded it in DBC, made a memblock from the object, then dumped the memblock in a text file. Then, I've adjusted my code to re-create the data structure. If you take a look at the end of my include file, you'll find the "DumpMemMatrix" function I used.

Why did I duplicate vertex (and use 16 where 9 could suffice) ?
Like I said in my second post of nov 12th, UV mapping infos are stored for each vertex, not for faces. Thus, when several faces share the same vertex, you can't map a face without altering the adjacent ones.
Conclusion: if you use only 9 vertex for a 2x2 matrix, you won't be able to "tile-map" it; you can only cover it with a large texture. And to texture large landscapes, it's hard to skip "tile-mapping"...

I hope it helps. For now I'm working on mapping too. "Tile-mapping" works well, I've added "tile mirroring", and I'll add "tile-rotating" (two features that help to reduce texture size); code will be posted later today.

Phaelax, would you mind if I borrow some of the functions you made for DBpro (matrix smoothing, normals, heightmap) ?

Ideas: memories of things which did not occur yet...
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 16th Nov 2004 23:57 Edited at: 17th Nov 2004 17:02
Here's the daily release...

This version adds tile mapping, smoothing, normals, and heightmap.
Heightmap is not fully functionnal, and I don't know if normals are calculated correctly, but hey, that's a start.

I'm quite proud of my "tile mapping" function, althought it's not completly "bug-free". It allows to map a zone of N1 by N2 matrix tile with a rectangle of X by Y pixels in the texture file. Moreover, it's possible to rotate or to mirror the texture zone you want to apply to the chosen tiles.
It may sound complex, so take a look at the zip under the "Download" button of this post; it contains the new include, and a little program to test it.

See ya tomorrow...

[added] oops! Forgot to say: smoothing, normals, and heightmap functions are from Phaelax (just slightly modified to suit DBC...

Ideas: memories of things which did not occur yet...

Attachments

Login to view attachments
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 18th Nov 2004 00:38 Edited at: 18th Nov 2004 00:43
(no post from Phaelax today? )

Today's news:
- I've corrected the normals. They look much better and add a little realism to the matrix. I feel good about it...
- Tile mapping (with tile rotation and mirroring) now works flawlessly, I think.
- Setting matrix heights from a heightmap is corrected too.
- I've added a function to move the memblock matrix object's pivot to the object's x,z center; it'll make matrix rotations easier.

Now, I'll go back to more "basic" features: shifting and a "get ground height" function.
If anyone thinks of something that would be useful, please tell me; I've got no more ideas for now...

Here's the include with all the functions:

And the little prog to test it:

You'll need a 256x256 tetxure map called "mire.bmp" to run it. There's one in the ZIP under this post's "Download" button (as always).

Ideas: memories of things which did not occur yet...

Attachments

Login to view attachments
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 18th Nov 2004 01:05
You wouldn't believe how many times I rewrote the memory positions calculations before I posted that. Everytime I wrote it, I looked at it and saw obvious mistakes. Just a bad night for me I guess.
So why's everyone want me to create dbc memblock matrices? You seem to have it down.
Also, about the texture thing. That really wouldn't be a problem for me cause I hadn't planned on making it tile with seperate images. I was just going to use 1 texture that stretches over the whole thing and use scale object texture. The idea was to create something like the new terrain system. But I just remembered, no diffuse color in dbc!

"eureka" - Archimedes
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 18th Nov 2004 01:29
ah screw this. this is the most messed up file structure ever. you can have this project, im sticking with pro.

"eureka" - Archimedes
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 18th Nov 2004 01:56
Here's something you can add. Shape the matrix from a heightmap. Should work with any size image and both 16 and 32 bit modes.



"eureka" - Archimedes
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 18th Nov 2004 15:20
Your heightmap code looks good; I'll add it.

Thanks for your help, Phaelax . "See" you soon on another project, I hope...

Ideas: memories of things which did not occur yet...
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 19th Nov 2004 00:35
I still got the tilemap editor to finish up. Right now, I've been caught up in making Fmod work in java.

"eureka" - Archimedes
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 24th Nov 2004 22:43 Edited at: 24th Nov 2004 22:47
Here's the "final" version .

It now handles shifting (but it's a real CPU hog for large matrices), heightmaps (save/load), and all the previous stuff (normals calculations, tile texturing with rotate/flip, smoothing, etc.).
You can find the code under the "download" button, or in the following snippets:
Include->

Little program to test it->

And here's the list of all the functions (it's no code; just a text file):


All this, and the two bitmaps needed by the test program are in the ZIP file under the "download" button.

Can anyone test it before I put it in the Codebase, please ?
(and since nobody - except Phaelax - posted any comment, is it of any use or what ?! )

Ideas: memories of things which did not occur yet...

Attachments

Login to view attachments
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 2nd Dec 2004 18:48
I found a little bug in my functions: matrix depth (Z) was read as a Dword instead of a Float. Here's the corrected version:


A zip file with an example is included under the "download" button.

Thanks for your comments...

Ideas: memories of things which did not occur yet...

Attachments

Login to view attachments
Mattman
21
Years of Service
User Offline
Joined: 5th Jun 2003
Location: East Lansing
Posted: 6th Dec 2004 10:22
works perfectly! Is there a chance of different textures depending on the height? That would be awesome!

Song of the whenever i feel like updating it....
Whatever Happened, The Strokes
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 6th Dec 2004 17:00 Edited at: 6th Dec 2004 17:01
Like in Terragen? Good idea.

I don't think I'll do it, thought. It would be difficult to blend the textures at the limit between two heights, and... Well, I'm not motivated anymore; I've began something else (I'm easily bored).

But if you want to do it, you can: I won't mind if you modify the code and post it later; it's all "open-source".

Anyway, thanks for you comment! It feels good to see that my work is appreciated.

Ideas: memories of things which did not occur yet...
DARKGuy
21
Years of Service
User Offline
Joined: 28th Nov 2003
Location:
Posted: 6th Dec 2004 17:21
Wow... OMG, I never thought this could come to this, this code looks so good, I may test it tomorrow though, but I'll download and all right now, I bet it rocks!... heh, I'm glad to have been of help by posting that, though Arkheii and Phaelax did it all for you I think, so you could make it perfect =)

Quote: "
-= 933 Mhz - SiS 630/730 8Mb - 128 RAM - 2.1Gb / 6.2Gb HDs - Sound: C-media CMI8738/C3DX PCI - CD-RW 52*32*52 - Windows 2000 =-
"
Arkheii
21
Years of Service
User Offline
Joined: 15th Jun 2003
Location: QC, Philippines
Posted: 6th Dec 2004 18:56
Woah, someone's actually trying to revive that bunch of crap.

I doubled the verts because I had UV mapping in mind for setting up the tiles. Since merging the verts together would fork the UV mapping, I treated it as 1 plain per tile, instead of a set of verts strung together. The stuff about header info, normals, etc. is probably my fault. I don't understand crap about normals .

Quote: "stupid db help files could be a little more clear about things.
"


The first time the help file was made, I don't think they were expecting a bunch of people messing around with that kind of stuff. It was, after all, written a long time ago.

I kinda gave up on this, so yeah. Great job Kel!


I spelled "disappointment" wrong. Pahintulutan ang di-inaasahang nakakahiyang pagkakamaling dulot ng kamangmangan. Have at you.
Mattman
21
Years of Service
User Offline
Joined: 5th Jun 2003
Location: East Lansing
Posted: 6th Dec 2004 20:40
I found a good program that can make textures from your heightmaps called TexGen!

Song of the whenever i feel like updating it....
Whatever Happened, The Strokes
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 6th Dec 2004 23:39
@Mattman:
I searched Google for "texgen" and found this URL:
[href] http://www.toymaker.info/html/texgen.html [/href]
This program is perfect! 'Just have to flip the texture vertically before using it in DB, and it looks very good.
Thanks, Mattman!

@Arkheii:
Thanks for your comment. And you were right about doubling the vertices for UVmapping; I had to do it, too.

Ideas: memories of things which did not occur yet...
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 6th Dec 2004 23:55
good work. Different images depending on height wouldn't be too hard to do yourselves. Though you would have to create a tile for each image transition. Like say you have only water and land. You'd have to make 1 more texture to blend the two together. The way I did matrices in DBP, and I'm pretty sure the new terrain plugin does it this way too, is to color the terrain using the model's diffuse colors. DBC doesn't support that part of models though, so that's not an option. Stick this in the codebase, several ppl over the past year have wanted this in DBC.

"eureka" - Archimedes
Mattman
21
Years of Service
User Offline
Joined: 5th Jun 2003
Location: East Lansing
Posted: 7th Dec 2004 04:24
90 degrees flip i think i remember now says DavidT where i learned it

Song of the whenever i feel like updating it....
Whatever Happened, The Strokes
Benjamin
22
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 7th Dec 2004 05:07 Edited at: 7th Dec 2004 05:09
EDIT: oops, didnt see other posts

Raven: That said, I DO say 'that said' a lot. 'Nuf said.
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 7th Dec 2004 16:34 Edited at: 7th Dec 2004 16:36
Last modification: I corrected a little bug in the heightmap management -> heightmap was vertically flipped (north-west corner of the heightmap was affected to south-east corner of the matrix).
Now, you can use a T2 texture over a heightmap-generated matrix without any change (you can find the texture tool at this URL: [href]http://www.toymaker.info/html/texgen.html [/href] ). And it looks good !


@Phaelax:
Yes, I'll put it in the codebase. I needed to "polish" the code a little more to be sure everything was running fine...

New version of the include:


And the whole zip file is under the "download" button, as always...

Ideas: memories of things which did not occur yet...

Attachments

Login to view attachments
Mattman
21
Years of Service
User Offline
Joined: 5th Jun 2003
Location: East Lansing
Posted: 7th Dec 2004 21:44
Holy cow this is gonna be a new age of DBC games! Great job!

Song of the whenever i feel like updating it....
Whatever Happened, The Strokes
Arkheii
21
Years of Service
User Offline
Joined: 15th Jun 2003
Location: QC, Philippines
Posted: 8th Dec 2004 20:07
Kel, that is so pretty

Actually, you can get really sneaky and just share all the vertices. That way, you can have one texture without having to worry about DBC's individual matrix tile textures. Slap on one big image and poof!

You can also do lightmapping on it, methinks. Just make another exact copy of the matrix, texture it with your lightmap, and use dark ghosting on it (ghost object on objnum,1). I'm not sure if you can emulate multitexturing through this, but give it a shot.


I spelled "disappointment" wrong. Pahintulutan ang di-inaasahang nakakahiyang pagkakamaling dulot ng kamangmangan. Have at you.
Kelebrindae
21
Years of Service
User Offline
Joined: 15th Sep 2003
Location: Where cheeses are scarier than dragons.
Posted: 9th Dec 2004 18:37 Edited at: 9th Dec 2004 18:38
@arkheii:
I'll keep the "doubled vertices" version, because tile texturing can be very useful; and with doubled-vertices, you can do both ("global-texturing" or "tile-texturing").

And I won't implement the lightmapping with a ghosted matrix; it would double the polycount, and Texgen ( http://www.toymaker.info/html/texgen.html ) simulates it at no cost.

But you gave me an idea: by getting the RGB value of the lightmap at the coords of a given object on the matrix, you can fade this object so it becomes darker when it enters a shadow area, or lighter when it enters a sunny area.

I did this quick example to illustrate what I mean; 'doesn't look too good, but it may be a start...

All the needed bitmaps (texture, heightmap, lightmap) are in the ZIP file under the "Download" button (131 Ko).
I also corrected a little bug in the "getMemMatrixGroundHeight" function that would return false values for non-square matrices...

Ok, for me, it's the end of this thread; I need time for another project... I'll put the code in the Codebase. You can use it or modify it as you wish; I hope it'll help those who need nice-looking landscapes in DBC.
Thanks you all for your help and your comments !

Ideas: memories of things which did not occur yet...

Attachments

Login to view attachments
Phaelax
DBPro Master
22
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 9th Dec 2004 22:11
I was just thinking, when you initially set up the UV coordinates, you could set the values of each tile so that the texture stretches across the whole terrain once. Look ugly? yes it would but afterwards, you could just use scale object texture and make it look all purty!

"eureka" - Archimedes

Login to post a reply

Server time is: 2025-05-24 07:33:32
Your offset time is: 2025-05-24 07:33:32