deltaKshatriya

Geometry vs Texturing in Game Art

Recommended Posts

deltaKshatriya    2210

Hey all,

So although I've posted some stuff here for critique, by and large, I'm not really a CG artist who does stuff for games. To be fair, even CG art is primarily a side hobby for me. But anyhow, back on topic. One of the things I've noticed is that for general CG art, we generally prefer to use as much geometry as possible for building a scene, since we don't really care much about render time. For example, sometimes bricks will be modeled in to fully utilize the lighting calculations and what not. Now obviously, with game dev, that just isn't true, and I do have experience with this. What I've noticed, however, is that game art in many games (Dark Souls, etc.) really does seem to look like it's using a ton of geometry, especially with architecture. Now I can tell where textures are used, but I'm curious, what's the balance for geometry vs texture? When is a texture preferred to modeling geometry? 

I thought this would be interesting discussion. 

Share this post


Link to post
Share on other sites
Hodgman    51336
1 minute ago, deltaKshatriya said:

For example, sometimes bricks will be modeled in to fully utilize the lighting calculations and what not. Now obviously, with game dev, that just isn't true, and I do have experience with this. What I've noticed, however, is that game art in many games (Dark Souls, etc.) really does seem to look like it's using a ton of geometry, especially with architecture. Now I can tell where textures are used, but I'm curious, what's the balance for geometry vs texture? When is a texture preferred to modeling geometry? 

Often you do model everything in excessive detail, down to cracks in bricks, first. Then, second you make a lower detailed mesh with the same general shape (a flat wall that covers all the bricks). Third, you "bake" all the geometric details from mesh #1 onto normal/depth/ao textures for use on mesh #2.

If done right, mesh #2 now has all the same details as mesh #1, but hardly any polygons. You can only really tell the difference when looking at it extremely closely, or when looking at the silhouette.

As when when to use each... it can be easy to get carried away with using low-poly meshes with large textures, but textures take up a LOT of memory. A compressed 1024x1024 normal map is about 1.3MB -- in that same amount of memory you could store over 40K vertices! So it can actually be better to use extra polygons and lower resolution textures, where possible.

The main thing that you never want to do is end up with so many triangles that they start to become smaller than one pixel. GPU's like to run pixel shaders on a block of 2x2 pixels at a time, so if a triangle only covers 1 pixel, the GPU will likely run the PS on 4 pixels, throw away three results, and keep one result! This means that meshes that have an extremely high polygon count can actually increase pixel shading costs by 300% :o Moreover, the fixed-function rasterizer probably works on 4x4 or 8x8 blocks of pixels, and only works at full efficiency if your triangles are bigger than that...

So -- use as many triangles as necessary, but then employ LOD (switching out models for lower detail versions when in the distance) to make sure that your on-screen triangles never get too small.

Share this post


Link to post
Share on other sites
JoeJ    2587

Maybe as an artist you should not distinguish between geometry and texture too much at all. There may be a preprocessing toolchain that takes your art and converts it to efficient game assets. It may resample textures, merge materials, decide what details remain geometry or become normal maps, generate LODs. It may even remesh your geometry and turn details to displacement maps, geometry images, voxels or whatever turns out to be most efficient.

So thinking ahead it's probably most important you always create art with very high detail so it still looks as intended even if everything gets resampled and downscaled. E.g. a tool may rotate UVs and straight lines of texels could become jaggy, or a tool may remove long and thin features of geometry, etc. Being aware of such issues may become important, while caring about low poly count may become obsolete for the artist.

 

 

 

Share this post


Link to post
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


  • Similar Content

    • By Armantium
      Lip-syncing and believable facial expressions.
      I have Maya licence for 3 years, but I haven't explored this aspect yet, as I've focused on mechanistic animations so far. I was wondering if there is a specialized software outside of Maya  that would make this very easy and quick. I would only need it for 3-5 characters, but I suppose I could use the exact same facial animation mechanism for all of them.
      If you are an experienced Maya user, I would appreciate your response even more. If the easy and quick solution already exists in Maya 2018, I would hate the expenditure of an additional specialized software(also, how time-consuming would it be if you have about 1000 words of dialog).
       
       
       
       
    • By khawk
      CRYENGINE has released their latest version with support for Vulkan, Substance integration, and more. Learn more from their announcement and check out the highlights below.
      Substance Integration
      CRYENGINE uses Substance internally in their workflow and have released a direct integration.
       
      Vulkan API
      A beta version of the Vulkan renderer to accompany the DX12 implementation. Vulkan is a cross-platform 3D graphics and compute API that enables developers to have high-performance real-time 3D graphics applications with balanced CPU/GPU usage. 

       
      Entity Components
      CRYENGINE has addressed a longstanding issue with game code managing entities within the level. The Entity Component System adds a modular and intuitive method to construct games.
      And More
      View the full release details at the CRYENGINE announcement here.

      View full story
    • By khawk
      CRYENGINE has released their latest version with support for Vulkan, Substance integration, and more. Learn more from their announcement and check out the highlights below.
      Substance Integration
      CRYENGINE uses Substance internally in their workflow and have released a direct integration.
       
      Vulkan API
      A beta version of the Vulkan renderer to accompany the DX12 implementation. Vulkan is a cross-platform 3D graphics and compute API that enables developers to have high-performance real-time 3D graphics applications with balanced CPU/GPU usage. 

       
      Entity Components
      CRYENGINE has addressed a longstanding issue with game code managing entities within the level. The Entity Component System adds a modular and intuitive method to construct games.
      And More
      View the full release details at the CRYENGINE announcement here.
    • By ilovegames
      You are a US Army soldier, and one day an unknown enemy attacked your base. Now your task is to survive and protect the base. There are a lot of weapons in your arsenal. Survive this nightmare at any cost. 
      Download https://falcoware.com/Defender.php
       



    • By ilovegames
      Hold out as long as possible in the "Arena of Death." Only your skill and the correct tactics of combat will help you survive in the Arena. Nine types of weapons are at your disposal, but remember that cartridges are limited and they need to be spent wisely. You must prioritize the position and the type of weapons in order to achieve victory.   Awaiting you:   - 9 types of weapons - Dynamic gameplay - Different types of opponents, with their own characteristics and weaknesses - Increasing complexity   Download https://falcoware.com/DeadArena.php


  • Popular Now