For any feature requests to either the Skyline Engine or the websites and forums please leave your suggestion here.

Image Atlas

Image Atlas

Postby TattieBoJangle » 28 Dec 2017, 19:41

Been thinking guys and going forward we really need something to fix

1. The image files are getting crazy in projects having D,N,R,S,E,AO maps the end game is going to be huge in size :lol:
2. Memory is going to be a thing also having all they maps yes it helps if they are all the same size but still going to be an issue.
3. Performance due to the way the Texture Arrays work we would see massive improvements if atlases where added.

So what I am asking for is this we have the ability to create atlases our self but we need skyline to be able to read the xml file that stores all the data in the atlas with their coordinates and sizes ect, this would let us convert a model that has say 6 textures times that by channels D,N,R,S,E,AO that's 36 textures down to 6 or if you only use 1 channel that's 6 textures down to 1. Below is an example the 6 images have been packed and is 1px space you can have it more

<?xml version="1.0"?>

<sprite file="testimage.bmp" name="testimage">
<frame name="1" x="1" y="1" w="1024" h="1024" />
<frame name="2" x="1026" y="1" w="1024" h="1024" />
<frame name="3" x="2051" y="1" w="1024" h="1024" />
<frame name="4" x="1" y="1026" w="1024" h="1024" />
<frame name="5" x="1026" y="1026" w="1024" h="1024" />
<frame name="6" x="2051" y="1026" w="1024" h="1024" />
</sprite>


Image
Case: CM Storm Trooper CPU: I7 5930k X99 Cooler: Noctua NH-D15 Graphics: Asus GTX 1080 Motherboard: Rampage Extreme V x99 Ram: RipJaws DDR4 3000mhz Storage: x2 SSD Crucial 500GB + x5 2TB Hdd PSU: Evga 1500w OS: Windows 10
User avatar
TattieBoJangle
Community Manager
Community Manager
 
Posts: 858
Joined: 26 Jan 2015, 00:15
Location: United Kingdom
Skill: 3D Modeller
Skill: 2D Artist
Skill: Level Designer
Skill: Great creative

Re: Image Atlas

Postby SpiderMack » 30 Dec 2017, 23:26

+1.

The main advantage of atlas is it saves draw calls because you use the same material instead of having multiple materials

But it's making the workflow longer if users need to make them in a painting software, it has extra steps most users won't do.

Instead some auto atlas tool would be the best solution.
It would generate atlas texture and a new material for set of 3D models you selected automatically.
Image


Another tips to reduce number of images needed is to combine maps into color channels (like it's done for some 3D engines)
Most software like 3D Coat, Substance Painter and Designer have options to define your own image export format (or Skyline could make some image packer tool when you want to use separate images)
For example :
Roughness = blue channel
Metallic = red channel
AO = green channel
User avatar
SpiderMack
Skyline Expert
 
Posts: 441
Joined: 02 Dec 2016, 09:15
Skill: Concept artist
Skill: 3D Modeller
Skill: Level Designer
Skill: Scripter

Re: Image Atlas

Postby epsilonion » 31 Dec 2017, 17:01

I like the idea of texture atlas in Skyline and reading a XML to get the co-ordinates etc..

SpiderMack wrote:
But it's making the workflow longer if users need to make them in a painting software, it has extra steps most users won't do.


I believe that anyone seriously developing there own assets for use in a game to be sold would take these steps to optimise there game even if it is a longer workflow, maybe not if prototyping but for end game they would do it as a part of been professional and producing the best product possible for there users..

We see it not been applied by indie dev's on steam and that is where you see people posting negative reviews for a none optimised game.

But this is just my opinion.

SpiderMack wrote:For example :
Roughness = blue channel
Metallic = red channel
AO = green channel


This is an idea to have that option in skyline would help people that create there own assets.. and optimise it at the point of creation when in the texturing phase of development.
User avatar
epsilonion
Skyline Lead Moderator
Skyline Lead Moderator
 
Posts: 874
Joined: 26 Feb 2015, 11:51
Location: Hull, East Yorkshire, England
Skill: Business Manager
Skill: Great creative

Re: Image Atlas

Postby SpiderMack » 01 Jan 2018, 14:11

epsilonion wrote:I like the idea of texture atlas in Skyline and reading a XML to get the co-ordinates etc..

SpiderMack wrote:
But it's making the workflow longer if users need to make them in a painting software, it has extra steps most users won't do.


I believe that anyone seriously developing there own assets for use in a game to be sold would take these steps to optimise there game even if it is a longer workflow, maybe not if prototyping but for end game they would do it as a part of been professional and producing the best product possible for there users..

We see it not been applied by indie dev's on steam and that is where you see people posting negative reviews for a none optimised game.

But this is just my opinion.

SpiderMack wrote:For example :
Roughness = blue channel
Metallic = red channel
AO = green channel


This is an idea to have that option in skyline would help people that create there own assets.. and optimise it at the point of creation when in the texturing phase of development.


Most users will be hobbyst, i guess like most indie 3D engines users.

If you want to go "professionnal" you go with production prooven engines, features and tools that speed up your workflow as much as possible. Take a look at Unity tools like Gaia, CTS, Vegetation Studio or Dungeon architect for example.


Atlas is only usefull when it is used as one material, so you decrease draw calls.
You can already do atlas material
- Assemble manually textures in one atlas and dispose each model UV in the right atlas texture space
- Use your 3D modeler combiner tool : It creates your atlas from your selected models, and it creates the right UV for the models group in the new material atlas.
- Or use your 3D engine atlas combiner plugin if it got one.
User avatar
SpiderMack
Skyline Expert
 
Posts: 441
Joined: 02 Dec 2016, 09:15
Skill: Concept artist
Skill: 3D Modeller
Skill: Level Designer
Skill: Scripter

Re: Image Atlas

Postby SolarPortal » 08 Jan 2018, 12:40

Several Valid points throughout this post:

Atlases do make an improvement only if the same texture and materials are shared between models as to reduce drawcalls as Spidermack says, but its also a very good memory optimization. However, quality can suffer because of atlases because if all your textures are 1024 or bigger and you want to atlas lots of them, then the images will get too big and cause stalls as they are uploaded / removed from the GPU.. This is where texture arrays excel in performance as you can have 40 1024's in one texture array.

As for packing, this was an idea we were initially going to add, so you provide skyline with the skyline you want and it would pack all the monochrome or single channel textures into empty spaces of diffuse, normals, spec etc...
Generating a custom atlas would be a really cool feature for skyline and would benefit the lightmapping creation process when added.. 2 birds 1 stone lol..
however, it is a lot of work...

The problem with the data is the offset UV locations which would have to be edited inside the shader to make real use of the atlas through XML as UV data is stored within the mesh data... this isnt to say its not possible though...

need to have some thoughts and an internal meeting on how to approach this... we hear your ideas, like them but need to figure out best how to integrate them and how much time it would take...
Skyline Game Engine - Lead Dev.
Please provide as much info as possible when asking for help.


Specs: OS: Win 10 64bit, CPU: Intel i7 4770 3.4ghz x 4 core(8 threads), GPU: Nvidia GTX 1060 6GB, Ram: 16gig DDR3, Windows on 250gb Samsung Evo 860

Twitter: @SolarPortal
Instagram: @SolarPortal
User avatar
SolarPortal
Skyline Founder
Skyline Founder
 
Posts: 3631
Joined: 29 Jul 2012, 15:56
Location: UK
Skill: 3D Modeller
Skill: 2D Artist
Skill: Programmer
Skill: Level Designer


Return to Feature Requests

Who is online

Users browsing this forum: No registered users and 7 guests

cron