:: Home :: Get Hosted :: PPM FAQ :: Forum FAQ :: Privacy Policy :: Search :: Memberlist :: Usergroups :: Register :: Profile :: Log in to check your private messages :: Log in ::
Do you want to advertise at Project Perfect Mod. Find out how to do it HERE.

The time now is Sun Nov 18, 2018 6:48 pm
All times are UTC + 0
 Forum index » Featured Tools » Voxel Section Editor III » Suggestions
Size limits
Moderators: stucuk
Post new topic   Reply to topic Page 1 of 1 [37 Posts] View previous topic :: View next topic
Author Message
Mig Eater
Defense Minister


Joined: 13 Nov 2003
Location: Eindhoven

PostPosted: Sun Jul 26, 2015 6:49 am    Post subject:  Size limits Reply with quote

In TS/RA2 the size of a voxel is limited to 255, OpenRA can use voxels 2048 pixels in size tho. So I request that the size limit be increased, with say a warning if you go over 255 that it will only work in OpenRA.
_________________



Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID YouTube User URL Facebook Profile URL Twitter Channel URL
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Sun Jul 26, 2015 8:19 am    Post subject: Reply with quote

Can 3ds2vxl convert into such big voxels?
It would be indeed useful to raise the limit, though i wonder if any voxeler will ever make such huge voxels by hand. 255 voxel long objects take already a lot of time, but 2048 big voxel could take almost an impractical long amount of time.
The VSE interface might also become impractical for such huge voxel.

For such big voxel it might be good to add some new drawing features like
-draw 2x2 area of voxel, so you can faster create the outer hull
_________________
SHP Artist of Twisted Insurrection:  Nod buildings

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant, 1 Scrin unit, 1 GDI building

Tools
Image Shaper______TMP Shop______C&C Executable Modifier

Back to top
View user's profile Send private message
Mig Eater
Defense Minister


Joined: 13 Nov 2003
Location: Eindhoven

PostPosted: Sun Jul 26, 2015 10:28 am    Post subject: Reply with quote

3ds2vxl is also limited to 255, you can set it higher but then the vxl outputted is a fraction of the size.

I'm eager to make some bigger voxels, I've already done the planning work for a 700 pixel B-36 bomber.
_________________



Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID YouTube User URL Facebook Profile URL Twitter Channel URL
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Sun Jul 26, 2015 1:45 pm    Post subject: Reply with quote

It's probably a fraction of the size because the size number will loop due to default data behaviour. I didn't bother to control that differently.

Is it really necessary to have bigger sizes?

By the way, because of the way 3ds2vxl is currently designed, the maximum voxel size for OpenRA would not be able to fit into RAM during voxelization. It might fit if the hard disk is used temporarily as RAM, but I don't consider it acceptable to use the hard disk like that, especially not that much, because of extreme wear & tear. A major overhaul would be required in the voxelizer; a paradigm shift actually.

Back to top
View user's profile Send private message
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Sun Jul 26, 2015 2:01 pm    Post subject: Reply with quote

Maybe a "breaking up into smaller parts"-routine would help.
Break up the model and generate 255x255x255 big voxel parts, then in the end assemble them together to one big voxel. Then you wouldn't have to change the entire conversion code and have no RAM issues.

A new VSE function "combine 2 voxel" would be surely useful too. One where you can also move one voxel inside another one interactively and merge them, with the second voxel getting the priority and removing overlapping parts from the base voxel.
_________________
SHP Artist of Twisted Insurrection:  Nod buildings

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant, 1 Scrin unit, 1 GDI building

Tools
Image Shaper______TMP Shop______C&C Executable Modifier

Back to top
View user's profile Send private message
Banshee
Supreme Banshee


Joined: 15 Aug 2002
Location: Brazil

PostPosted: Sun Jul 26, 2015 2:17 pm    Post subject: Reply with quote

This change doesn't make any sense for a 32 bits program like VXLSE III. 2048x2048x2048 bytes = 8gb. VXLSE III is currently compiled with a 32 bits compiler, so it won't handle all that data, even if your RAM is bigger than that. As ViPr said, it could only handle if the HD is used as additional RAM and, still, it is quite complex to do that.

And, believe me, you wouldn't like to play OpenRA with voxels of this size. The game would certainly lag or become a major resource hog. Maybe in 20 years it won't be a problem anymore.

Back to top
View user's profile Send private message Visit poster's website Skype Account
Mig Eater
Defense Minister


Joined: 13 Nov 2003
Location: Eindhoven

PostPosted: Sun Jul 26, 2015 2:25 pm    Post subject: Reply with quote

ViPr wrote:
the size number will loop

Thanks, that explains why 256 was making tiny voxels & 500 large.  

There are already several ways to combine 2 voxels but they all need the use of multiple programs. A function in VXLSE would be more newbie friendly & a lot quicker.

I guess I'm gona have to make a large multi section voxel & put it together in the hva.
_________________



Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID YouTube User URL Facebook Profile URL Twitter Channel URL
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Sun Jul 26, 2015 2:57 pm    Post subject: Reply with quote

That is actually one method that I have been considering for a while. However, with some simple adjustments to the voxelizer, this method still wouldn't be sufficient to get that maximum size of voxel into RAM, although it could help substantially. Much more extensive changes would be required if people insist on reaching that current maximum size.

By the way, I don't believe OpenRA doesn't have the same RAM problem with voxels that are that maximum size, unless it does something like use lossy texture compression, which I don't believe it does, although it possibly easily could.

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Sun Jul 26, 2015 3:11 pm    Post subject: Reply with quote

I don't see why you want to make such huge voxels, Mig.

Consider using the Scale variable in the voxel header instead. OpenRA can upscale voxels without issues - just think of http://ppmsite.com/forum/files/test01_197.png caused by Scale having 0,83 instead of 0,083... I strongly advise you that instead of creating superhuge voxels, just recalculate Scale instead.

OpenRA also has perf issues with superhuge voxels anyway - although they're caused by the rendering being lousy instead of the textures.
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Last edited by Graion Dilach on Sun Jul 26, 2015 3:17 pm; edited 2 times in total

Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Sun Jul 26, 2015 3:12 pm    Post subject: Reply with quote

Actually, yes, 32-bit programs can access only 4GB of RAM. 3ds2vxl is currently only a 32-bit program if I remember correctly, and I don't know if that is easy to change. I wasn't even talking about that. I was making the assumption that 16GB is the limit that our programs could use because that is apparently the highest RAM amount that people currently have in their Personal Computers.

Back to top
View user's profile Send private message
Mig Eater
Defense Minister


Joined: 13 Nov 2003
Location: Eindhoven

PostPosted: Sun Jul 26, 2015 3:34 pm    Post subject: Reply with quote

Graion Dilach wrote:
I don't see why you want to make such huge voxels, Mig.

Consistent scale...
_________________



Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID YouTube User URL Facebook Profile URL Twitter Channel URL
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Sun Jul 26, 2015 3:59 pm    Post subject: Reply with quote

If a program stores the voxels for these games in a full-blown array just for the sake of simplicity, and remember that each data point uses 2 Bytes (1 Byte for colour index, and 1 Byte for normals index) then OpenRA's maximum size voxel would require 2048^3 x 2 Bytes = 16 GB

That would require all of the RAM in the current best desktop PC just for the raw data points for that one voxel alone if it is stored in a full-blown array for the sake of simplicity.

When these voxels are stored in a file, then they use less data because they use some equivalent of run-length encoding to account for the fact that there is lots of hollowness and blank open air in the voxels. However, it would be quite complicated to write a program that puts all the pieces together, when they are encoded in that form, without using a full-blown array.

Back to top
View user's profile Send private message
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Sun Jul 26, 2015 4:08 pm    Post subject: Reply with quote

Mig Eater wrote:
Graion Dilach wrote:
I don't see why you want to make such huge voxels, Mig.

Consistent scale...


If you want to have a consistent scale, then you should include the people as well, and I believe that even if you had an aircraft carrier that took up the entire screen, then the people would still be only approximately 2 pixels tall. That is not even close to sufficient for any decent detail.

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Sun Jul 26, 2015 4:23 pm    Post subject: Reply with quote

You can reach that without going an 1:1 voxel basis as well. Dammit, all your current calculations involve a 0.083 value right now.

Instead of working with unmaintainable sizes of voxels - like a 200x200x200 voxel, you should just create a 100x100x100 one, then set Scale to 0.166. The result will look the same. The scale will stay consistent.

I know you're a perfectionist and all that, but being such reckless makes no sense here. The voxels will take a single cell size by logic still.
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Sun Jul 26, 2015 4:40 pm    Post subject: Reply with quote

If OpenRA is so concerned with increasing the quality of its voxels, then there are plenty of other things that should be implemented besides merely just a voxel size increase.

There should be more than just the normals data and a colour data; there should also be specular colour or metallicness, and glossiness, and emissiveness for lights on the vehicles.

There should not be just 1 colour palette but a custom one for every voxel and it should maybe use a palette system like many texture compression schemes now where smaller pieces of the entire data set all use little mini palettes instead of just 1 big palette for the entire data set. That would be quite difficult to program and could run into legal problems due to patents by companies like S3 Graphics and Euclideon.

The OpenRA voxel renderer should also maybe be made to have better visual quality than the one in the official games. It currently is better, but we are being told it needs to be downgraded to be similar to the game renderer due to frame-rate problems.

Also, maybe the voxels should not even have their data points stored in an array.

Then we have to wonder if we should even use voxels or whether we should switch to polygons or sprites.

By the way, the voxel size data is apparently stored in a single byte for each dimension. To get bigger voxels you would need more than a single byte which would cause the official games' voxel loading procedure to fail even if the particular voxels don't use that extra big size, because the file format would be incompatible.

Back to top
View user's profile Send private message
Mig Eater
Defense Minister


Joined: 13 Nov 2003
Location: Eindhoven

PostPosted: Sun Jul 26, 2015 4:42 pm    Post subject: Reply with quote

Yes correctly scaled naval units aren't really possible. I'm more interested in making heavy bombers that are in scale with fighter planes tho. If my biggest plane is made at a size of 255 & then everything was made to the same scale then I'd have fighters the size of infantry. ATM I'm having to use a gradient scaling system where the bigger the aircraft the smaller the scale, if at all possible I'd prefer to keep everything the same tho.

Yes a 2048 filled cube would eat all of a computers ram but that's the maximum not the norm. What I'm interested in making would be much, much smaller.
_________________



Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID YouTube User URL Facebook Profile URL Twitter Channel URL
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Sun Jul 26, 2015 5:22 pm    Post subject: Reply with quote

ViPr wrote:
...

Please read https://github.com/OpenRA/OpenRA/wiki/Traits-%28playtest%29#rendervoxels and understand that it's changeable per-unit.

It can still be better if instead of a fixed VPL, the engine will generate a shader as a lookup table. Shaders are already used a lot in the engine.

Mig, you can rescale your current airplanes already, knowing you, they'll be fine even if you increase the Scale to 300%. Seriously, good voxels suffer no loss due to changing Scale per voxel - and again, when I mention Scale, I mean the Scale value of the VXL header which the WW games don't use.
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Sun Jul 26, 2015 5:30 pm    Post subject: Reply with quote

Graion Dilach, if you are proposing making the voxels look bigger on screen by stretching them out, with the same number of data points, then I have some bad news for you. OpenRA's future voxel renderer is going to be downgraded from using the equivalent of cubes, to instead using single pixels for each data point, just like the official games. Therefore, it will have the same visual problem as the official games when stretching is attempted; massive gappage. It will not even use squares, which is what MadHQ's voxel viewer is using, and my program used (because my renderer was inspired by System Shock 1, by the way).

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Sun Jul 26, 2015 6:05 pm    Post subject: Reply with quote

Do you have a crystal ball? Because I don't think so. Do you realize that OpenRA parse the Scale variable which defaults to 0.083?

You heard something and expect that to happen. All you do is to run on random assumptions. The stretching must work, because the Scale variable is adhered. Without it, Westwood voxels will break entirely.

Also, the actual issue does not even say what you think it does.
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Sun Jul 26, 2015 8:02 pm    Post subject: Reply with quote

Okay, I just re-read pchote's statement and apparently he did say that, in some cases (such as for stretched voxels, I'm guessing) the renderer will use squares instead of just single pixels. I misunderstood initially and people apparently didn't notice that I misunderstood. I misunderstood because something he said misled me because he said the voxel dot distance would need to be set correctly to prevent gaps, but if the renderer is able to use squares then gaps shouldn't have to happen because squares, just like cubes, can adjust their size in order to compensate for potential gappage.

Hopefully, we won't discover that even squares make the renderer too slow.

Last edited by ViPr on Sun Jul 26, 2015 11:24 pm; edited 1 time in total

Back to top
View user's profile Send private message
Isaac_The_Madd
AA Infantry


Joined: 16 Jul 2015

PostPosted: Sun Jul 26, 2015 9:09 pm    Post subject: Reply with quote

ViPr wrote:
That would require all of the RAM in the current best desktop PC just for the raw data points for that one voxel alone if it is stored in a full-blown array for the sake of simplicity.


That is best retail desktop pc on the other hand people tend to go overboard on custom-built desktops. (Not me I have not gotten a new computer since 2009)

Last edited by Isaac_The_Madd on Sun Jul 26, 2015 11:04 pm; edited 1 time in total

Back to top
View user's profile Send private message
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Sun Jul 26, 2015 11:00 pm    Post subject: Reply with quote

Okay, I just checked and 128 GB of RAM is apparently the highest that a motherboard can currently support. I doubt that even a single person, who visits this forum, has more than 16 GB. Who needs more?

By the way, with the way that 3ds2vxl is currently designed, 128 GB of RAM is still not enough for that stated current maximum voxel size Smile

Back to top
View user's profile Send private message
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Sun Jul 26, 2015 11:15 pm    Post subject: Reply with quote

I am curious to know what the official games' current maximum voxel size looks like in the official games or in OpenRA. If I remember correctly, it doesn't fit into the official games' sprite size limit.

Back to top
View user's profile Send private message
Banshee
Supreme Banshee


Joined: 15 Aug 2002
Location: Brazil

PostPosted: Mon Jul 27, 2015 3:04 am    Post subject: Reply with quote

I do have a 32gb RAM in my main machine since 2013, when I had the opportunity to buy it in the US territory. I'm pretty sure that very few people might have even more RAM than my machine.

Back to top
View user's profile Send private message Visit poster's website Skype Account
Mig Eater
Defense Minister


Joined: 13 Nov 2003
Location: Eindhoven

PostPosted: Mon Jul 27, 2015 7:31 am    Post subject: Reply with quote

Graion Dilach wrote:
knowing you, they'll be fine even if you increase the Scale to 300%

They might look reasonable but I've never settled for reasonable when it's possible to do better #Tongue

ViPr wrote:
I am curious to know what the official games' current maximum voxel size looks like


B-36 Peacemaker

USS Forrestal
_________________



Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID YouTube User URL Facebook Profile URL Twitter Channel URL
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Mon Jul 27, 2015 11:15 am    Post subject: Reply with quote

Are these having the gaps closed using the redundant thickness or scrunching technique?

By the way, I think if you stretch them out to be a little bigger to an extent that will worsen how they look in the official games (because it would cause gaps to appear), it might actually improve how they look in OpenRA, although it might slow down the rendering because the renderer would have to switch to using squares instead of just single pixels to represent each data point.

Back to top
View user's profile Send private message
Mig Eater
Defense Minister


Joined: 13 Nov 2003
Location: Eindhoven

PostPosted: Mon Jul 27, 2015 2:41 pm    Post subject: Reply with quote

The gaps are closed by correctly drawing the curved surfaces.
_________________



Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID YouTube User URL Facebook Profile URL Twitter Channel URL
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Mon Jul 27, 2015 9:17 pm    Post subject: Reply with quote

Can that actually be considered correct though?

Back to top
View user's profile Send private message
G-E
General


Joined: 09 Feb 2015

PostPosted: Tue Jul 28, 2015 2:46 am    Post subject: Reply with quote

In the RA2 engine, if the voxel bounds are bigger than the dot size, you get gaps between the voxel cubes, which can be used to make semi transparent objects like if you had a spinning turret...

I believe WW chose the 1/12th scale to coincide with their pixel scale, so for their purposes it didn't make any sense to deviate, hence it gets ignored.

I always draw my units large, then scale them down with bounds after, between .8 or .9 generally, but I do have some that are .7 or even .66 scaled. I don't think upscaling the dots beyond 100% is a good idea for quality (Mig's concern) but as long as it remains a reasonably close number like 1.3x, I think it's probably fine. Unless the engine applies some AA or other specular effects, I don't think even 2.0 makes sense.
_________________
http://www.moddb.com/mods/scorched-earth-ra2-mod-with-smart-ai

Back to top
View user's profile Send private message
Mig Eater
Defense Minister


Joined: 13 Nov 2003
Location: Eindhoven

PostPosted: Tue Jul 28, 2015 8:01 am    Post subject: Reply with quote

ViPr wrote:
Can that actually be considered correct though?

Well if you dont you get gaps/black hole syndrome, so yeh...
_________________



Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID YouTube User URL Facebook Profile URL Twitter Channel URL
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Tue Jul 28, 2015 12:55 pm    Post subject: Reply with quote

I would say that what we are doing is not really correct; I would say we are doing something incorrectly in order to compensate for something else which is incorrect.

The correct thing is for cubes (not squares or single pixels) to represent voxels. We have to use squares or single pixels only because cubes are apparently too computationally expensive.

Back to top
View user's profile Send private message
Mig Eater
Defense Minister


Joined: 13 Nov 2003
Location: Eindhoven

PostPosted: Tue Jul 28, 2015 1:39 pm    Post subject: Reply with quote

Oh I agree that it was not the correct why to create the voxel format. But it's the correct way to create a voxel within that format #Tongue
_________________



Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID YouTube User URL Facebook Profile URL Twitter Channel URL
Banshee
Supreme Banshee


Joined: 15 Aug 2002
Location: Brazil

PostPosted: Tue Jul 28, 2015 3:05 pm    Post subject: Reply with quote

ViPr wrote:
The correct thing is for cubes (not squares or single pixels) to represent voxels. We have to use squares or single pixels only because cubes are apparently too computationally expensive.


I disagree with your statement.

A voxel is the a sample that represents the dominant information at the smallest representable volume of the space. It is not a cube. Cube is certainly a simple solution to trick our vision, but what you really have is a continuous object represented discretely (because computers can't represent continuos objects).

Back to top
View user's profile Send private message Visit poster's website Skype Account
ViPr
Gauss Rifle Trooper


Joined: 30 Dec 2004

PostPosted: Tue Jul 28, 2015 5:18 pm    Post subject: Reply with quote

Are you talking about interpolation, or metaballs, or quantum physics atomic simulators?

Back to top
View user's profile Send private message
Banshee
Supreme Banshee


Joined: 15 Aug 2002
Location: Brazil

PostPosted: Tue Jul 28, 2015 8:25 pm    Post subject: Reply with quote

None of them. I didn't talk about solutions. I've just explained what a voxel really is.

Back to top
View user's profile Send private message Visit poster's website Skype Account
Mig Eater
Defense Minister


Joined: 13 Nov 2003
Location: Eindhoven

PostPosted: Mon Aug 03, 2015 12:34 pm    Post subject: Reply with quote

I've done some tests joining multiple 250x250x250 cubes together to make a 500x500x250 voxel. VXLSE struggled a bit but I only have 3gb of RAM so that is to be expected.

In OpenRA it worked without any problems until I had 30 of them flying around the screen which caused severe lag.
_________________



Back to top
View user's profile Send private message Visit poster's website ModDB Profile ID YouTube User URL Facebook Profile URL Twitter Channel URL
Matthias M.
Jumpjet Infantry


Joined: 15 Jun 2012
Location: Germany

PostPosted: Mon Aug 03, 2015 1:48 pm    Post subject: Reply with quote

The Voxel renderer isn't optimized. https://github.com/OpenRA/OpenRA/issues/4539

Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [37 Posts] View previous topic :: View next topic
 Forum index » Featured Tools » Voxel Section Editor III » Suggestions
Jump to:  
Share on TwitterShare on FacebookShare on Google+Share on DiggShare on RedditShare on PInterestShare on Del.icio.usShare on Stumble Upon
Quick Reply
Username:


If you are visually impaired or cannot otherwise answer the challenges below please contact the Administrator for help.


Write only one of the following words: Brotherhood, unity, peace! 

 
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © phpBB Group

Wildcard SSL Certificates
[ Time: 0.2761s ][ Queries: 11 (0.0269s) ][ Debug on ]