Jump to content

Using paint tool for painting bump maps


Jeronimo

Recommended Posts

I would like to introduce an idea about using the paint tool to create some bump maps textures for our builds:

 

The concept is using the paint tool and having the possibility to switch to texture or bump mod.

Normal maps would be too complex to paint by ourselves, so preferably using bump maps system, painting in shades of greys over our texture painted model. An Invisible painted information layer to anyone's eyes on a finished build but renderable by client side lights information calculation.

 

This might greatly improve the appearance of any constructions

And why not doing the same for a reflection map painting mod

Link to comment
Share on other sites

giphy.gif




In other news, I suggest a revolutionary tool. 

Diagonal lines.



There's no need for bumpmaps, a paint tool simply will change one of the six squares existing on a voxel's surface to alter their color. The material properties can remain intact. This can applied to morphed voxels, like parallel rectangulars in a slope.

 

Link to comment
Share on other sites

 

 

In other news, I suggest a revolutionary tool. 

 

Diagonal lines.

 

 

 

There's no need for bumpmaps, a paint tool simply will change one of the six squares existing on a voxel's surface to alter their color. The material properties can remain intact. This can applied to morphed voxels, like parallel rectangulars in a slope.

 

 

 

The voxels base size ll be 1m and 25cm, which are pretty big when you are trying to get into details, this because server side, it wouldnt support too many smaller scale voxels.

 

The bump map is an alternative, but client side, to increase rendered details on any objects

 

Think about it

Link to comment
Share on other sites

The voxels base size ll be 1m and 25cm, which are pretty big when you are trying to get into details, this because server side, it wouldnt support too many smaller scale voxels.

 

The bump map is an alternative, but client side, to increase rendered details on any objects

 

Think about it

Okay, since I clearly can't speak your way of lignuistic pattern, are you meaning you want to create a "brick wall" bumpmap for the game?

 

 

Like, set up a 10x25 voxels wall, then apply a bumpmap to make it look like as if bricks make up the wall? Cause that is already a thing in most voxel games. A paint tool is for painting a voxel's color differently. What you are suggesting is simply a bumpmap preset ofr the voxels to have a certain look about them and it can be tied to a builder's skil ltree to have access to "prettier" bumpmaps.

Link to comment
Share on other sites

Okay, since I clearly can't speak your way of lignuistic pattern, are you meaning you want to create a "brick wall" bumpmap for the game?

 

 

Like, set up a 10x25 voxels wall, then apply a bumpmap to make it look like as if bricks make up the wall? Cause that is already a thing in most voxel games. A paint tool is for painting a voxel's color differently. What you are suggesting is simply a bumpmap preset ofr the voxels to have a certain look about them and it can be tied to a builder's skil ltree to have access to "prettier" bumpmaps.

 

i am talking about player painted objects, that wont come with a default texture map, since you ll paint on it what ever you feel to, like paint a scratch, a rusty piece, a screw, a logo etc...

 

Over painting the default texture will make object flat, unless as you mention, you bind to the whole object the same preset bump map, which might not always give the desired effect 

 

That is the main prupose of the topic, an alternative to this preset bump map that was available already in sandbox games 10 years ago

 

Example of level of details you cannot achieve with your solution, neither with the building tool:

 

StandardShaderNormalMapAircraftSurface.p

Link to comment
Share on other sites

directly painting bump maps could be a bit heavy storage and streaming wise for the game.

 

maybe a decal based system with some limited PCG for long stripes of something?

 

 

premade infinitely stacking stripes of rivets, indents, bumps, seams, etc

which you can apply to a grid 

Link to comment
Share on other sites

directly painting bump maps could be a bit heavy storage and streaming wise for the game.

 

maybe a decal based system with some limited PCG for long stripes of something?

 

 

premade infinitely stacking stripes of rivets, indents, bumps, seams, etc

which you can apply to a grid 

 

to be honest before the very recent video, i imagined could paint smaller pixels than 25*25cm, imagined it more like a grafiti spray tool

 

but what you say is pretty consistant, adding with what captain said, just have to wait if they plan 25*25cm preset bump map, with only one rivet in the middle, so every 25cm you could put one

Link to comment
Share on other sites

to be honest before the very recent video, i imagined could paint smaller pixels than 25*25cm, imagined it more like a grafiti spray tool

 

but what you say is pretty consistant, adding with what captain said, just have to wait if they plan 25*25cm preset bump map, with only one rivet in the middle, so every 25cm you could put one

Most Voxel Engines support this localised bump-mapping of voxels. The problem is most of them don't supporrt altering one side of the voxels into a bump texture, they have to apply the bump-map in the entirety of the voxel itself.

 

 

But given NovaQuark's ingenuity, I would not be surprised they'll add some weird ass bump-mapping tool that some "Sculptor" class can unlock to make wall-carvings by painting each voxel seperately.

Link to comment
Share on other sites

Most Voxel Engines support this localised bump-mapping of voxels. The problem is most of them don't supporrt altering one side of the voxels into a bump texture, they have to apply the bump-map in the entirety of the voxel itself.

 

 

But given NovaQuark's ingenuity, I would not be surprised they'll add some weird ass bump-mapping tool that some "Sculptor" class can unlock to make wall-carvings by painting each voxel seperately.

 

true, but you wont really mind if 5 faces are into the wall

Link to comment
Share on other sites

true, but you wont really mind if 5 faces are into the wall

True, but you got to remember that if a voxel is loaded, all surfaces of it are loaded and bump-maps usually cost a bit in memory, those things may add up real fast in volumes.

Link to comment
Share on other sites

to be honest before the very recent video, i imagined could paint smaller pixels than 25*25cm, imagined it more like a grafiti spray tool

 

but what you say is pretty consistant, adding with what captain said, just have to wait if they plan 25*25cm preset bump map, with only one rivet in the middle, so every 25cm you could put one

I didnt mean that you change thr bump texture of that specific voxel (one instance every 25cm) but you draw vectors over the surface of the whole object, with arbitary start and end points independent from the voxel grid.

 

a "sticker" system so to say with a bit of extra stuff to make it easier for everyone

Link to comment
Share on other sites

I didnt mean that you change thr bump texture of that specific voxel (one instance every 25cm) but you draw vectors over the surface of the whole object, with arbitary start and end points independent from the voxel grid.

 

a "sticker" system so to say with a bit of extra stuff to make it easier for everyone

 

 

i hope it would be something like that otherwise will be difficult to paint our logos on our ships

Link to comment
Share on other sites

Server bandwidth could become non-trivial as the normal/bump map would have to be sent to every client, and either cached on every player's hard disk or resent on every view. Get a bunch of constructs together and you can risk gigs of data being thrown at every client.

Link to comment
Share on other sites

Server bandwidth could become non-trivial as the normal/bump map would have to be sent to every client, and either cached on every player's hard disk or resent on every view. Get a bunch of constructs together and you can risk gigs of data being thrown at every client.

That's why players want a pre-existing gallery of bump-maps, to create the sense a piece of armor plating has bolts nailed to it and stuff. It won't be player-made bumpmap, it will already exist in the game's folder.

Link to comment
Share on other sites

Voxelfarm, the voxel engine novaquark uses, supports uv mapped voxels, thus it is logical to allow painting textures.

BUT

I would be willing to go further: allow people to make their own shaders, this would allow for interesting features like metamorphic hulls, that change depending on the environment for optimal camouflage. a test would be made tho, on upload, to see the performance impact of the shader. it would not be allowed to take more than n millis to render for performance reasons (so you don't start doing raymarching)

 

how to implement it in the shader pipeline: quite straight forward:

 

if the pipeline is standard rendering: 

vertex shader- > geometry shader -> custom draw shader

if the pipeline is deferresd (if not you have to implement it for performance)

vertex shader -> geometry shader -> shader that combines custom shaders: vertex color determines the shader to use, and use GL_NEAREST to determine the shader to use. opengl supports async shader compilation, thus removing the need to drop performance too much. then it outputs the color, depth and uv. depth cannot be changed by the custom shaders.

 

this is ideal because you would then be able to put logo animations on the hulls an do all kinds of cool things. It could increase the creativity of the factions. and such shaders could become commodities. the shaders would need access to some vars like shadertoy does to be able to place virtual decals, patterns etc... 

 

unless you want to sell skins for pecunia, i don't see why this would be objected too as it is purely client based thus have no server cost except in the upload phase. Even a mod could add that easily.

Link to comment
Share on other sites

having your GPU run unchecked code from unknown people without prompting sounds like a cool idea, yes.

 

*sarcasm detector explodes*

 

Theres a difference between running sandboxed interpreted scripts and running GLSL on your bare silicon.

 

I definitely dont want people to be able to run code on my hardware just because their game object came into loading range.

Link to comment
Share on other sites

having your GPU run unchecked code from unknown people without prompting sounds like a cool idea, yes.

 

*sarcasm detector explodes*

 

Theres a difference between running sandboxed interpreted scripts and running GLSL on your bare silicon.

 

I definitely dont want people to be able to run code on my hardware just because their game object came into loading range.

 

have you ever programmed glsl? glsl has a very limited subset of functions that can be sandboxed if necessary, look at shadertoy. glsl in itself cannot do anything at all, really, it can just tell, you gave me this input and i give you that output. but if you play with the rendering pipeline, then it becomes dangerous, and even then, only graphics could be altered. Lua can be way more dangerous if badly integrated, as it directly controls the cpu. glsl is sandboxed by nature because of its high level (it is compiled to a lower level, but there is no way to act upon it) but has no action on the hardware or memory itself, it just determines a readonly process.

 

your fear of the unknown is irrational.

Link to comment
Share on other sites

I would like to introduce an idea about using the paint tool to create some bump maps textures for our builds:

 

The concept is using the paint tool and having the possibility to switch to texture or bump mod.

Normal maps would be too complex to paint by ourselves, so preferably using bump maps system, painting in shades of greys over our texture painted model. An Invisible painted information layer to anyone's eyes on a finished build but renderable by client side lights information calculation.

 

This might greatly improve the appearance of any constructions

And why not doing the same for a reflection map painting mod

That is all ready in the game, look at the video with the landing pad, the bumps are 2D but look 3D. Any bump or spectacular effect would be at the texture level and would, as with everything, be subject to the size of the possible memory base client side as well as server archive side.

An infinite amount of player made texture variations means someone somewhere must store for quick download all the texture files including the bump maps and such archiving costs money and requires maintenance.   

 

Remember they can't even start planning that stuff until they have the lighting engine fully crafted and lighting engines are a huge pain. They are the major lag source in every voxel game because every new shape or voxel deletion forces a recalculation for the whole chunk, and sometimes the whole world. This is why their using grey and dark grey construct voxels at this stage. It's easy on the placeholder lighting engine. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...