| OpenSim Discuss development, use, and support issues related to the OpenSim project. |
![]() |
| | LinkBack | Thread Tools | Display Modes |
| | #1 (permalink) |
| Senior Member ![]() ![]() ![]()
I see what you did there.
Join Date: Oct 2009 Location: Internets
Posts: 2,416
My Mood: SL Join Date: 3/16/2009
Business: Red Fedora Productions | VoxelSim Development Thread VoxelSim - Adding Voxels to OpenSim N3X15's VoxelSim at master - GitHub What Are Voxels and Why should I care? These blocks are voxels, and the terrain shape alone should be enough to pique your interest. ![]() Notice, in particular, the overhangs and horizontal holes in the terrain. SL currently uses a heightmap-based terrain system, meaning that it basically sends a black-and-white picture to your viewer, with each "pixel" having a "color" that specifies how high the terrain should be at that specific X/Y position. This is great for transmission over a network, but it has a drawback: You cannot have overhangs, because each (x,y) position on the heightmap can only specify how high the terrain is at that point. There's no room for gaps. What I'm replacing this shitty system with are called Voxels. Imagine you have <1,1,1>-scale boxes arranged in a perfect grid pattern, 256 boxes on each side, 512 boxes high. You can then select and delete boxes to simulate terrain, or to carve out a house, or to make a cave or even floating islands, all made out of these boxes. VoxelSim doesn't transmit terrain as a series of (x,y) points with a height. Instead, it transmits a series of (x,y,z) coordinates telling the client where each block of terrain is. The client then smooths the terrain into a less-blocky form. But oh no, we're not done yet. I've extended the system to transmit not just {x,y,z}, but {x,y,z,MATERIAL_ID}. Materials allow different types of terrain matter to be used, so that you can have dirt, rock, metal, Zerg Creep, whatever the hell you want, whereever the hell you want it. This improves upon SL's really shitty method of specifying only 4 terrain textures at different fractional heights, reducing the ability for people to add different types of terrain material and prevents them from customizing the terrain to exactly the way they like it. OpenSim's terrain generator also leaves a lot to be desired. When you first start up the sim, you get a round island with really spiky underwater terrain surrounding it. I decided this was shitty and have added a procedural terrain generation system to OpenSim to fix this issue, by using Minecraft Infdev's terrain generation system (with Notch's written permission) to create amazing, surreal terrain without the blockiness. What about Backwards Compatibility with old clients/old heightmaps? The old terrain transmission method will be there, but users using old clients will find themselves falling through the terrain when they enter caves or fall into a hole. Are you going to add this to Luna? Yes. What about LibOMV? Yes, I'll have to maintain our own LibOMV branch due to OpenSim using it for packet handling. |
| | |
| 9 Users Said Yay!: |
| 1 User Said Thanks: |
| |
| | #3 (permalink) |
| Senior Member ![]() ![]() ![]()
I see what you did there.
Join Date: Oct 2009 Location: Internets
Posts: 2,416
My Mood: SL Join Date: 3/16/2009
Business: Red Fedora Productions | |
| | |
| 1 User Said Yay!: |
| | #4 (permalink) |
| Grid.Living ![]() ![]() ![]() ![]()
I kicked your dog. TO THE
MOON.
Join Date: Aug 2007 Location: Michigan
Posts: 3,903
My Mood: SL Join Date: 7/21/2003
Business: Grid.Living
| We can has sexy screenshots?
__________________ http://www.lordfly.com/ |
| | |
| | #5 (permalink) |
| Senior Member ![]() ![]() ![]()
I see what you did there.
Join Date: Oct 2009 Location: Internets
Posts: 2,416
My Mood: SL Join Date: 3/16/2009
Business: Red Fedora Productions | |
| | |
| | #6 (permalink) |
| Senior Member ![]() ![]() ![]()
I see what you did there.
Join Date: Oct 2009 Location: Internets
Posts: 2,416
My Mood: SL Join Date: 3/16/2009
Business: Red Fedora Productions | Update: IT FUCKING COMPILES. VoxelSim is available here. THIS WILL NOT WORK PROPERLY WITH ANY EXISTING CLIENTS (for now). A modified LibOMV is in ThirdParty/libomv, but I don't know if it'll even work. Changes
|
| | |
| 1 User Said Yay!: |
| | #7 (permalink) |
| Senior Member ![]() ![]() ![]()
I see what you did there.
Join Date: Oct 2009 Location: Internets
Posts: 2,416
My Mood: SL Join Date: 3/16/2009
Business: Red Fedora Productions | Well, the world map works properly, and voxels are now being generated correctly. ![]() Cross section at 128 Y: (White = solid voxels) Changes:
|
| | |
| | #8 (permalink) |
| Member ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() *SLU Supporter* ![]()
Reticulating Splines
Join Date: Jun 2010
Posts: 63
My Mood: | Some very, very awesome work here. I'm going to be investing some time into this to try and get the two terrain systems working side-by-side, I don't agree with mel that they can't co-exist.. it just needs a little plumbing work to make that happen. I'll post my progress here ~T
__________________ I'm a grid admin over at meta7. Come check us out, if you're so inclined.. this isn't just any OpenSim Grid! |
| | |
![]() |
| Tags |
| luna, opensim, voxels |
| Thread Tools | |
| Display Modes | |
| |
| |