soul_assassin 1750 Posted June 22, 2009 Seems the rvmats in A2 have been updated to use the "Super" shader which supports and ambient occlusion map and some sort of cubemap reflection :) 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,1.000000}; emmisive[]={0.000000,0.000000,0.000000,1.000000}; specular[]={0.750000,0.800000,0.700000,1.000000}; specularPower=60.000000; PixelShaderID="Super"; VertexShaderID="Super"; class Stage1 { texture="SA_BMD_PACK_1\sa_bmd1_01_nohq.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}; }; }; class Stage2 { texture="ca\data\destruct\metal_rough_half_dt.paa"; uvSource="tex"; class uvTransform { aside[]={8.000000,0.000000,0.000000}; up[]={0.000000,8.000000,0.000000}; dir[]={0.000000,0.000000,0.000000}; pos[]={0.000000,0.000000,0.000000}; }; }; class Stage3 { texture="#(argb,8,8,3)color(0,0,0,0,MC)"; 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}; }; }; class Stage4 { texture="SA_BMD_PACK_1\sa_bmd1_01_as.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}; }; }; class Stage5 { texture="SA_BMD_PACK_1\sa_bmd1_01_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}; }; }; class Stage6 { texture="#(ai,64,64,1)fresnel(0.9,0.1)"; uvSource="none"; }; class Stage7 { texture="ca\data\env_land_co.paa"; uvSource="none"; }; the ambient map in stage4 is a rgb map with red and blue channels filled with white and the green channel housing the black/white ambient occlusion map. The 2nd and 3rd stages I am not sure yet what they are for. The numbers in the Fresnel component in stage 6 can be used to tweak the strength and the properties of the environment reflection. Neat! Edit: dont forget to unpbo the ca.pbo into your P:\ drive in order to see this work. And of course Arma2 should be set as Bulldozer of course. Share this post Link to post Share on other sites
roberthammer 582 Posted June 22, 2009 (edited) Oh thx Soul_Assassin :) btw i need the new updated ArmA2 rvmat for weapons too :p Edited June 22, 2009 by RobertHammer Share this post Link to post Share on other sites
norsu 180 Posted June 22, 2009 Very cool. I have to give this a shot today :cool:. Share this post Link to post Share on other sites
gms 0 Posted June 22, 2009 I tried it on weapons, but the reflections and AO in the game was not ... i will try with your material. Share this post Link to post Share on other sites
soul_assassin 1750 Posted June 22, 2009 Do not binarize this new rvmat when you pack it or it will not work. Also have a look for env_...paa textures in ca\data\ for stage 7 for some effects, mirror, blurred, color reflections etc. Share this post Link to post Share on other sites
scubaman3D 0 Posted June 22, 2009 weapons uses the same shader Share this post Link to post Share on other sites
roberthammer 582 Posted June 23, 2009 Finally got something work ingame :) but can you tell me how do you set ArmA1 O2 to work with ArmA2 shaders? Because when i set "D:\ArmA 2\ArmA2.exe -window -buldozer" it will crash with some shader error or something Share this post Link to post Share on other sites
soul_assassin 1750 Posted June 23, 2009 you have to unpbo the shaders from bin.pbo i think to P:\bin Share this post Link to post Share on other sites
roberthammer 582 Posted June 23, 2009 you have to unpbo the shaders from bin.pbo i think to P:\bin Great! thx Assassin Share this post Link to post Share on other sites
fromz 2 Posted June 29, 2009 These are the new rvmat's effect: From OH MOD for ArmA2 WIP Share this post Link to post Share on other sites
soul_assassin 1750 Posted June 29, 2009 Yeh dude as I said in the WIP thread, the aircraft look f*cking incredible! very nice work! Can you perhaps post which settings you have used in the rvmat? Can you also post an example glass rvmat? Share this post Link to post Share on other sites
marco-polo-iv 0 Posted June 29, 2009 glass: ambient[] = {1.0, 1.0, 1.0, 1.0}; diffuse[] = {1.0, 1.0, 1.0, 1.0}; forcedDiffuse[] = {0.0, 0.0, 0.0, 1.0}; emmisive[] = {0.0, 0.0, 0.0, 1.0}; specular[] = {1.0, 1.0, 1.0, 1.0}; specularPower = 500.0; renderFlags[] = {"NoAlphaWrite"}; PixelShaderID = "NormalMapSpecularDIMap"; VertexShaderID = "NormalMap"; class Stage1 { texture = "MAP_Air\data\uh60_skla_nohq.paa"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage2 { texture = "#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage3 { texture = "#(argb,8,8,3)color(0.5,0.5,0.5,0,MC)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage4 { texture = "#(rgb,8,8,3)color(1,1,1,1,AS)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage5 { texture = "MAP_Air\data\uh60_skla_smdi.paa"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage6 { texture = "#(ai,32,128,1)fresnel(0.45,0.94)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage7 { texture = "MAP_Air\data\env_land_co.paa"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; glass_damage ambient[] = {1.0, 1.0, 1.0, 1.0}; diffuse[] = {1.0, 1.0, 1.0, 1.0}; forcedDiffuse[] = {0.0, 0.0, 0.0, 1.0}; emmisive[] = {0.0, 0.0, 0.0, 1.0}; specular[] = {2.0, 2.0, 2.0, 1.0}; specularPower = 1000.0; renderFlags[] = {"NoAlphaWrite"}; PixelShaderID = "NormalMapSpecularDIMap"; VertexShaderID = "NormalMap"; class Stage1 { texture = "ca\data\destruct\destr_glass_plexi_full_nohq.paa"; uvSource = "tex"; class uvTransform { aside[] = {3.0, 0.0, 0.0}; up[] = {0.0, 3.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage2 { texture = "ca\data\destruct\destr_glass_plexi_full_ca.paa"; uvSource = "tex"; class uvTransform { aside[] = {3.0, 0.0, 0.0}; up[] = {0.0, 3.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage3 { texture = "ca\data\destruct\destr_glass_plexi_full_ca.paa"; uvSource = "tex"; class uvTransform { aside[] = {3.0, 0.0, 0.0}; up[] = {0.0, 3.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage4 { texture = "#(rgb,8,8,3)color(1,1,1,1,AS)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage5 { texture = "ca\data\destruct\destr_glass_plexi_full_smdi.paa"; uvSource = "tex"; class uvTransform { aside[] = {3.0, 0.0, 0.0}; up[] = {0.0, 3.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage6 { texture = "#(ai,32,128,1)fresnel(0.45,0.94)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage7 { texture = "ca\data\env_land_co.paa"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; glass_in mbient[] = {1.0, 1.0, 1.0, 1.0}; diffuse[] = {1.0, 1.0, 1.0, 1.0}; forcedDiffuse[] = {0.0, 0.0, 0.0, 1.0}; emmisive[] = {0.0, 0.0, 0.0, 1.0}; specular[] = {1.0, 1.0, 1.0, 1.0}; specularPower = 500.0; renderFlags[] = {"NoAlphaWrite"}; PixelShaderID = "NormalMapSpecularDIMap"; VertexShaderID = "NormalMap"; class Stage1 { texture = "MAP_Air\data\uh60_skla_nohq.paa"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage2 { texture = "#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage3 { texture = "#(argb,8,8,3)color(0.5,0.5,0.5,0,MC)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage4 { texture = "#(rgb,8,8,3)color(1,1,1,1,AS)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage5 { texture = "MAP_Air\data\uh60_skla_smdi.paa"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage6 { texture = "#(ai,32,128,1)fresnel(1.01,0.52)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage7 { texture = "ca\data\env_land_co.paa"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; glass_in_damage mbient[] = {1.0, 1.0, 1.0, 1.0}; diffuse[] = {1.0, 1.0, 1.0, 1.0}; forcedDiffuse[] = {0.0, 0.0, 0.0, 1.0}; emmisive[] = {0.0, 0.0, 0.0, 1.0}; specular[] = {1.0, 1.0, 1.0, 1.0}; specularPower = 500.0; renderFlags[] = {"NoAlphaWrite"}; PixelShaderID = "NormalMapSpecularDIMap"; VertexShaderID = "NormalMap"; class Stage1 { texture = "MAP_Air\data\uh60_skla_nohq.paa"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage2 { texture = "#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage3 { texture = "#(argb,8,8,3)color(0.5,0.5,0.5,0,MC)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage4 { texture = "#(rgb,8,8,3)color(1,1,1,1,AS)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage5 { texture = "MAP_Air\data\uh60_skla_smdi.paa"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage6 { texture = "#(ai,32,128,1)fresnel(1.01,0.52)"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; class Stage7 { texture = "ca\data\env_land_co.paa"; uvSource = "tex"; class uvTransform { aside[] = {1.0, 0.0, 0.0}; up[] = {0.0, 1.0, 0.0}; dir[] = {0.0, 0.0, 0.0}; pos[] = {0.0, 0.0, 0.0}; }; }; i hope will help you Marco Share this post Link to post Share on other sites
soul_assassin 1750 Posted June 29, 2009 cool thnx :) Share this post Link to post Share on other sites
roberthammer 582 Posted June 30, 2009 I got little better glass rvmat 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,1.000000}; emmisive[]={0.000000,0.000000,0.000000,1.000000}; specular[]={0.750000,0.800000,0.700000,1.000000}; specularPower=60.000000; renderFlags[]={"NoAlphaWrite"}; PixelShaderID="Super"; VertexShaderID="Super"; class Stage1 { texture="bhd_air\uh60_skla_nohq.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}; }; }; class Stage2 { texture="#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; uvSource="tex"; class uvTransform { aside[]={8.000000,0.000000,0.000000}; up[]={0.000000,8.000000,0.000000}; dir[]={0.000000,0.000000,0.000000}; pos[]={0.000000,0.000000,0.000000}; }; }; class Stage3 { texture="#(argb,8,8,3)color(0.5,0.5,0.5,0,MC)"; 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}; }; }; class Stage4 { texture="#(rgb,8,8,3)color(1,1,1,1,AS)"; 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}; }; }; class Stage5 { texture="bhd_air\uh60_skla_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}; }; }; class Stage6 { texture="#(ai,32,128,1)fresnel(0.45,0.94)"; uvSource="none"; }; class Stage7 { texture="ca\data\env_land_co.paa"; uvSource="none"; }; Try it and you will see the difference :cool: btw fromz very cool , can you pls show here what settings you used in rvmat :) Share this post Link to post Share on other sites
TeRp 1 Posted June 30, 2009 You guys should post diffuse, specular and normal samples, too. The rvmats don't give that much insight on the final appearance without them. :) Share this post Link to post Share on other sites
Messiah 2 Posted July 1, 2009 can anyone link up an example of an ambient occulsion map in ArmaA2? I've had a peek on google and I believe I have a fairly rough idea of how it works, but if someone could be so kind as to post up an AS along with the Diffuse, then that would help me see how the AS correlates to the Diffuse map. Even a small section would help. Texview doesn't seem to like the new BIS paa, or at least it errors for me. Share this post Link to post Share on other sites
soul_assassin 1750 Posted July 1, 2009 (edited) The composition of the AS map is as follows: red channel = filled white green channel = contains the black/white ambient map with black shadows and white where there are no shadows. blue channel = filled white alpha channel = either not used at all or all white. this entails that the ambient occlusion that you bake in your software is no longer applied directly into the diffuse texture but rather used separately with the use of the AS map. Edited July 1, 2009 by Soul_Assassin Share this post Link to post Share on other sites
Messiah 2 Posted July 1, 2009 ok, so essentially those places on my diffuse where I'd use a drop shadow to try and darken an area up, are now in turn shaded in the AS map in the green channel, and removed entirely from the Diffuse. bear in mind all my modeling, uv unwraps, etc is entirely O2 based, so I have no way to bake anything. All diffuse, spec and norms are hand drawn, as will the AS. cheers Soul :) Share this post Link to post Share on other sites
da12thMonkey 1943 Posted July 1, 2009 Messy mate, if you want AO maps baked, I can do them in Max for you. I did one for the Jackal the other night. There are artifacts where the UV coordinates are shared by multiple components like the wheels and seats and double-sided planes caused by the lighting info being rendered over the map several times (any of our more experienced 3-D gurus who could tell me how to resolve this?), but overall it's not bad. Share this post Link to post Share on other sites
soul_assassin 1750 Posted July 1, 2009 u can share same uv space by offsetting it by 1 or more in either u or v direction. Since the texture tiles it just remaps itself. Share this post Link to post Share on other sites
TeRp 1 Posted July 1, 2009 can anyone link up an example of an ambient occulsion map in ArmaA2? I've had a peek on google and I believe I have a fairly rough idea of how it works, but if someone could be so kind as to post up an AS along with the Diffuse, then that would help me see how the AS correlates to the Diffuse map. Even a small section would help.Texview doesn't seem to like the new BIS paa, or at least it errors for me. You got a pm :) Share this post Link to post Share on other sites
rocket 9 Posted July 2, 2009 Using Soul_Assasin's great tips here, I've posted a detailed explaination of how I implemented the Super shader (along with sample textures) at in the forums. Share this post Link to post Share on other sites