User Tools

Site Tools


arma:texturing

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
arma:texturing [2007-11-16 10:16]
snakeman added tutorials link
arma:texturing [2017-01-21 19:21] (current)
snakeman switched to editing-alpha-channel link.
Line 3: Line 3:
 For texturing you can use things such as Adobe Photoshop, Paint Shop Pro, Gimp or virtually any paint program. For texturing you can use things such as Adobe Photoshop, Paint Shop Pro, Gimp or virtually any paint program.
  
-You should use the [[arma:​texture_naming_rules|ArmA Texture Naming Rules]] always when texturing.+You should use the [[arma:texturing:​texture_naming_rules|ArmA Texture Naming Rules]] always when texturing.
  
-Panda[PL] said in [[http://​www.flashpoint1985.com/​cgi-bin/​ikonboard311/​ikonboard.cgi?;​act=ST;​f=76;​t=66600|BIS forums]]: No, don't use different textures for each lod. In ArmA if texture is not needed in high resolution anymore (because of distance or low framerate) the engine automatically scales it down in memory (dropps ​out every one in two pixels, that's why all textures need to have dimensions ​ of powers of two). On the other hand loading a texture from HDD or from ram into the video memory is performance consuming and will cause FPS dropps. So use the same txture ​for every LOD and let ArmA worry about it.+**Panda[PL]** said: No, don't use different textures for each LOD. In ArmA if texture is not needed in high resolution anymore (because of distance or low frame rate) the engine automatically scales it down in memory (drops out every one in two pixels, that's why all textures need to have dimensions of powers of two). On the other hand loading a texture from HDD or from ram into the video memory is performance consuming and will cause FPS drops. So use the same texture ​for every LOD and let ArmA worry about it
 + 
 +**Ohara (BIS dev)** said: Drop of FPS in vegetation is caused by overdraw, it means that graphic card is not able to draw so many pixels that scene needs. When GC draw scene, it automatically cut hidden pixels, BUT only if this pixels are not alpha transparent. Vegetation is buildup from polygons with some opacity textures, so this cutting (early Z test on HW) not work here. There is no simple solution, better performance will be with low shading detail settings (simplified pixel shader), but overdraw is still there. Also using of worst LODs will not help so match, because less polygons means worst tree shape approximation and final surface (what is most important for overdraw reduction) will be similar. We are still working on some research in this area.\\ 
 +He concluded more (which really doesn'​t help us ArmA modders): Yes, we found solution how to reduce overdraw about 25%, but this solution need different representation of tree surfaces and vertexes (different model and binarisation of this model and different way, how to switch vegetation LOD'​s). So it'​s ​ not usable for current vegetation data and will be used in next projects. Alpha textures mean also masked textures (that is 1bit transparency or opacity if you want and we use them).
  
-BIS Ohara said in [[http://​www.flashpoint1985.com/​cgi-bin/​ikonboard311/​ikonboard.cgi?;​act=ST;​f=68;​t=66677|BIS forums]]: Drop of FPS in vegetation is caused by overdaw, it means that grafic card is not able to draw so many pixels that scene needs. When GC draw scene, it automatically cut hiden pixels, BUT only if this pixels are not alphatransparent. Vegetation is builded from polygons with some opacity textures, so this cuting (early Z test on HW) not work here. There is no simple solution, better performance will be with low shading detail settings (simplified pixel shader), but overdraw is still there. Also using of worst LODs will not help so match, because less polygons means worst tree shape aproximation and final surface (what is most important for overdraw reduction) will be similar. We are still woring on some research in this area.\\ 
-He concluded more (which really doesn'​t help us ArmA modders): Yes, we found solution how to reduce overdraw about 25%, but this solution need diferent representation of tree surfaces and vertexes (diferent model and binarisation of this model and diferent way, how to switch vegetation lods). So it'​s ​ not usable for curent vegetation data and will be used in next projects. Alphatextures mean also masked textures (that is 1bit transparency or opacity if you want and we use them). 
  
 ====== Overview ====== ====== Overview ======
  
-We can't point o2 to rvmat filesor even use the stock textures (texture name too long). Right now basically you apply the texture like normal, then in the units config you make a CfgTextureToMaterial entry for each texture.+Basic tools for texturing are any sort of image editing programwe suggest Adobe PhotoShop with [[arma:​tools:​paaplugin|PAAPlugin]], then to fiddle with ArmA specific stuff use [[arma:​tools:​texview2|TexView 2]].
  
-<​code>​ +You can use [[arma:​tools:​oxygen2|O2]] to apply the textures into your p3d model. You must create the rvmat file for your specular and normal maps, the rvmat is then applied normally with O2 into the model.
-class CfgTextureToMaterial +
-+
-            class texture1 +
-            { +
-                         ​textures[] =  {"​project\data\texture1.paa"​};​ +
-                         ​material = "#​texture1";​ +
-            }; +
-}; +
-</​code>​+
  
-Then you define a CfgMaterials entry for it, this is in the same format as the rvmat files, there might be a way to link it to an external rvmat, I haven'​t tried though... 
  
-<​code>​ +====== ​Specular Maps ======
-class CfgMaterials +
-+
-            class texture1 +
-            { +
-                         ​ambient[] ​{1.000000, 1.000000, 1.000000, 1.000000};​ +
-                         ​diffuse[] ​{1.000000, 1.000000, 1.000000, 1.000000};​ +
-                         ​forcedDiffuse[] ​{0.000000, 0.000000, 0.000000, 0.000000};​ +
-                         ​emmisive[] ​{0.000000, 0.000000, 0.000000, 1.000000};​ +
-                         ​specular[] ​{1, 1, 1, 1.000000};​ +
-                         ​specularPower ​100; +
-                         ​PixelShaderID ​"​NormalMapSpecularDIMap";​ +
-                         ​VertexShaderID ​"​NormalMap";​ +
-                         class Stage1 +
-                         { +
-                                      texture ​"​project\data\texture1_nohq.paa";​ +
-                                      uvSource ​"​tex";​+
  
-                                      class uvTransform +More details on specular maps read [[arma:​texturing:​specular_maps|here]].
-                                      { +
-                                                   aside[] = {1.000000, 0.000000, 0.000000};​ +
-                                                   up[] = {0.000000, 1.000000, 0.000000};​ +
-                                                   dir[= {0.000000, 0.000000, 0.000000};​ +
-                                                   pos[] = {0.000000, 0.000000, 0.000000};​ +
-                                      }; +
-                         }; +
-                         class Stage2 +
-                         { +
-                                      texture = "​project\data\texture1_smdi.paa";​ +
-                                      uvSource = "​tex";​+
  
-                                      class uvTransform 
-                                      { 
-                                                   ​aside[] = {1.000000, 0.000000, 0.000000}; 
-                                                   up[] = {0.000000, 1.000000, 0.000000}; 
-                                                   dir[] = {0.000000, 0.000000, 0.000000}; 
-                                                   pos[] = {0.000000, 0.000000, 0.000000}; 
-                                      }; 
-                         }; 
-            }; 
-}; 
-</​code>​ 
  
-the _nohq texture is a tangent space normal map, and the _smdi is the specular map. Specular maps are grey scale images that are combined with 2 white greyscale maps into an rgb image. The spec maps go in the green channel, I'm not sure what the other channels do. Anyways, thats all there is to making the various layers.+====== Normal Maps ======
  
-how to make an SMDI specular map out of my grayscale ones. FYI, grab the grayscale one, put it in a layer on top of a layer of just magenta, and then set the top layer to '​screen'​. ​ Works perfectly. ​ The only other trick was cranking the NVIDIA ​normal ​map plugin way up to get some really visible details.+More details ​on normal ​maps read [[arma:​texturing:​normal_maps|here]].
  
  
-====== ​Specular Maps ======+====== ​Those _AS textures ​======
  
-More details on specular maps read [[arma:​texturing:​specular_maps|here]]+Those _AS textures are what store the shadows information of models. For example if you edit a soldier model, remove its helmet you are left with the chin strap shadow in the soldiers face, how to remove it? Well the shadow is located in the _AS texture.
  
-====== Normal Maps ====== 
  
-More details on normal maps read [[arma:​texturing:​normal_maps|here]]+===== How to create _AS textures? ===== 
 + 
 +Its very simple, just load your _CO texture with Texview2 and choose Save As... and give it <​filename>​_AS.paa file name and it is automatically saved to _AS format with the pink "​style"​ in it. 
  
 ====== Merging Textures ====== ====== Merging Textures ======
  
-Merging textures in O2 is possible, read [[arma:​texturing:​merging_textures|here]]+Merging textures in O2 is possible, read [[arma:​texturing:​merging_textures|here]]
 + 
 + 
 +====== Road Texturing ====== 
 + 
 +How to texture roads and built the rvmat files, read about it in [[arma:​texturing:​road_texturing|here]]. 
 + 
 + 
 +====== RVMAT ====== 
 + 
 +RVMAT files are the ones that control many aspects of normal and specular maps, they are critical on any texturing in ArmA. More details in dedicated [[arma:​texturing:​rvmat|rvmat]] page. 
  
 ====== Tutorials ====== ====== Tutorials ======
  
-Reflective Glass Tutorial by Obmar, read [[arma:​texturing:​reflective_glass_tut|here]]+[[arma:​texturing:​reflective_glass_tut|Reflective Glass Tutorial]] by Obmar
 + 
 +[[arma:​texturing:​material_editor_tut|Material Editor Tutorial]] by Linker Split. 
 + 
 +[[arma:​texturing:​normal_specular_tut|Normal and Specular Mapping Tutorial]] by Linker Split. 
 + 
 +[[arma:​texturing:​reskin_tut|Reskinning Tutorial]] by granQ. 
 + 
 +[[arma:​texturing:​editing-alpha-channel|Editing Alpha Channel]] for your texture. 
 + 
 +How to create [[arma:​texturing:​mud_texture_tut|Mud Textures]] by DaSquade. 
 + 
 +[[arma:​texturing:​texturing_howto|Texturing Howto]] by Soul_Assassin. 
 + 
 +How to create [[arma:​texturing:​custom_texture|custom texture]] using hiddenselections. 
 + 
 +[[arma:​texturing:​satellite_image_tutorial|Satellite image editing tutorial]] by Max Power. 
 + 
 + 
 +====== Wound Textures ======
  
 +How to create soldier [[arma:​wound_textures|wound textures]] is explained here.
arma/texturing.1195208183.txt.gz · Last modified: 2007-11-16 10:16 (external edit)