Voxels
Posted: Fri Jul 05, 2013 1:46 pm
Heyho,
could anyone upload a voxel-example-mod for the currtent build?
Thanks in advance!
could anyone upload a voxel-example-mod for the currtent build?
Thanks in advance!
OpenRA is a GPLv3 real time strategy game engine which recreates the look and feel of the original C&C games.
https://forum.openra.net/
If you want, I can PM you my PPM ID and password. Could you try one more time before I post a topic regarding this issue?Sleipnir wrote: ↑secret: OpenRA doesn't use VPLs at all. If modenc is accurate, they are only used to resolve normal-resolved colors back to a palette entry. OpenRA does this calculation on the GPU and isn't constrained by mapping them back to the restricted palette.
That PPM thread requires an account to view, and apparently i'm a bot because despite my best efforts I couldn't get past their captcha code when trying to register a new account
I am currently setting up the infantry sequences.secret wrote: ↑EDIT: Another thing: is a TS mod in the works right now? Just out of curiosity.
Nah, it's alright. Giving out your account details to people over the internet is generally a bad ideasecret wrote: ↑If you want, I can PM you my PPM ID and password. Could you try one more time before I post a topic regarding this issue?
The thread features the main ideas, but also how some members created their own VPL files, and they render the voxels in quite a nice manner (one of them of Apollo).
Yup, we do this in a fragment shader on the GPU (see vxl.frag). The difference is that we draw these modified colors directly to the screen instead of mapping them back into the palette entries defined by the vpl.secret wrote: ↑The VPL acts like some sort of shader, if you're familiar with the term. The GPU may render the voxel, but the VPL file helps the game render the voxel in a particular manner, making some palette sections more bright, some of them darker, and so on.
Thing is, many voxels depend on normals, and to change the voxel philosophy of the entire community isn't too easy (this means that voxellers ought to create a new palette file, and each voxeller has a different style. Also, IIRC a .VPL file has more values (?) than a .PAL file.)
That is the long term plan, but there is a lot more engine work to do before we will have something playable.secret wrote: ↑EDIT: Another thing: is a TS mod in the works right now? Just out of curiosity.
Thing is, some people profited of the modability the VPL came with, and got used with the system. Some voxels may not look as good as they do with vanilla RA2/TS.Sleipnir wrote: ↑Yup, we do this in a fragment shader on the GPU (see vxl.frag). The difference is that we draw these modified colors directly to the screen instead of mapping them back into the palette entries defined by the vpl.secret wrote: ↑The VPL acts like some sort of shader, if you're familiar with the term. The GPU may render the voxel, but the VPL file helps the game render the voxel in a particular manner, making some palette sections more bright, some of them darker, and so on.
Thing is, many voxels depend on normals, and to change the voxel philosophy of the entire community isn't too easy (this means that voxellers ought to create a new palette file, and each voxeller has a different style. Also, IIRC a .VPL file has more values (?) than a .PAL file.)
As long as people aren't abusing voxel.vpl to do non-normal calculations this should give us better looking results than RA2/TS.
You should test some of these ingame, and if the existing parameters (the ambient and diffuse light can be set per actor type) aren't sufficient we can look into adjusting the renderer to support them.secret wrote: ↑Thing is, some people profited of the modability the VPL came with, and got used with the system. Some voxels may not look as good as they do with vanilla RA2/TS.
Code: Select all
LTNK:
-RenderUnit:
-WithTurret:
RenderSprites:
RenderVoxels:
Image:ttnk
PlayerPalette:tibsun
WithVoxelBody:
Code: Select all
Exception of type `System.InvalidOperationException`: Unit `renart` does not have any voxels defined.
bei OpenRA.Graphics.VoxelProvider.GetVoxel(String unitName, String voxelName)
bei OpenRA.Mods.RA.Render.WithVoxelBody..ctor(Actor self)
bei OpenRA.Mods.RA.Render.WithVoxelBodyInfo.Create(ActorInitializer init)
bei OpenRA.Actor..ctor(World world, String name, TypeDictionary initDict)
bei OpenRA.World.CreateActor(Boolean addToWorld, String name, TypeDictionary initDict)
bei OpenRA.World.CreateActor(String name, TypeDictionary initDict)
bei OpenRA.Mods.RA.SpawnMapActors.WorldLoaded(World world)
bei OpenRA.World..ctor(Manifest manifest, Map map, OrderManager orderManager, Boolean isShellmap)
bei OpenRA.Game.StartGame(String mapUID, Boolean isShellmap)
bei OpenRA.Game.LoadShellMap()
bei OpenRA.Mods.Cnc.CncLoadScreen.TestAndContinue()
bei OpenRA.Mods.Cnc.CncLoadScreen.StartGame()
bei OpenRA.Game.InitializeWithMods(String[] mods)
bei OpenRA.Game.Initialize(Arguments args)
bei OpenRA.Program.Run(String[] args)
bei OpenRA.Program.Main(String[] args)