Rvmat File Format: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Text replacement - ";[ ]+ " to "; ")
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Work In Progress==
==Work In Progress==
==Intro==
== Intro ==
This file format is documented here to properly indicate all file types of BI. It is not intended to be other than a quick reference to the much more complete rvmat description elsewhere.
This file format is documented here to properly indicate all file types of BI. It is not intended to be other than a quick reference to the much more complete rvmat description elsewhere.
==General==
== General ==
Rvmat files are the texture (material) files for Armed Assault.
Rvmat files are the texture (material) files for Armed Assault.


The text they contain are classic token pair and classname structures. As such, they are raPifiable just like a config or a mission.sqm. Normally, Rvmats are raPified before use by the game engine, but, just like similar files (mission.sqm eg) they can be passed in text form and let the engine compile it there and then.  This, obviously creates an engine load lag time before game start.
The text they contain are classic token pair and classname structures. As such, they are raPifiable just like a config or a mission.sqm. Normally, Rvmats are raPified before use by the game engine, but, just like similar files (mission.sqm eg) they can be passed in text form and let the engine compile it there and then.  This, obviously creates an engine load lag time before game start.
==Structure==
== Structure ==
The minimum construct of an rvmat file is as follows;
The minimum construct of an rvmat file is as follows;


  //class NameOfRvmatFile{
  //class NameOfRvmatFile{
   Ambient[]={D3DCOLORVALUES};  
   Ambient[]={D3DCOLORVALUES};
   Diffuse[]={D3DCOLORVALUES};
   Diffuse[]={D3DCOLORVALUES};
   ForcedDiffuse[]={D3DCOLORVALUES};  
   ForcedDiffuse[]={D3DCOLORVALUES};
   emmisive[] = {D3DCOLORVALUES};  
   emmisive[] = {D3DCOLORVALUES};
   specular[] = {D3DCOLORVALUES};  
   specular[] = {D3DCOLORVALUES};
   specularPower = 64.0;
   specularPower = 64.0;
   PixelShaderID = "Normal";
   PixelShaderID = "Normal";
Line 37: Line 37:
Note that PixelShaderID is a clear example of Rap files NOT being the popularly termed 'binarised' files. If it were binarised, BasicAlpha would be integer 3
Note that PixelShaderID is a clear example of Rap files NOT being the popularly termed 'binarised' files. If it were binarised, BasicAlpha would be integer 3


[[category:Operation Flashpoint: Modelling]]
{{GameCategory|ofp|Modelling}}
[[Category:BIS_File_Formats]]
[[Category:BIS_File_Formats]]
[[Category:Arma::File_Formats]]
{{GameCategory|arma1|File Formats}}
[[Category:Arma 2::File_Formats]]

Latest revision as of 01:55, 8 August 2021

Work In Progress

Intro

This file format is documented here to properly indicate all file types of BI. It is not intended to be other than a quick reference to the much more complete rvmat description elsewhere.

General

Rvmat files are the texture (material) files for Armed Assault.

The text they contain are classic token pair and classname structures. As such, they are raPifiable just like a config or a mission.sqm. Normally, Rvmats are raPified before use by the game engine, but, just like similar files (mission.sqm eg) they can be passed in text form and let the engine compile it there and then. This, obviously creates an engine load lag time before game start.

Structure

The minimum construct of an rvmat file is as follows;

//class NameOfRvmatFile{
  Ambient[]={D3DCOLORVALUES};
  Diffuse[]={D3DCOLORVALUES};
  ForcedDiffuse[]={D3DCOLORVALUES};
  emmisive[] = {D3DCOLORVALUES};
  specular[] = {D3DCOLORVALUES};
  specularPower = 64.0;
  PixelShaderID = "Normal";
  VertexShaderID = "BasicAlpha";
  class Stage0
  {
   texture="#(rgb,8,8,3)color(0,0,1,1,SMDI)";
   uvSource="tex";
   Filter="Point";
  };
  ......
  class StageLast
  {
   texture="#(rgb,8,8,3)color(0,0,1,1,SMDI)";
   uvSource="tex";
   Filter="Point";
  };
//};

where D3DCOLORVALUE = float r,g,b,a;

Note that PixelShaderID is a clear example of Rap files NOT being the popularly termed 'binarised' files. If it were binarised, BasicAlpha would be integer 3