OgreSkeletonLib_mtlfns.ms 1000 B

12345678910111213141516171819202122232425
  1. function writeMaterial material outFile =
  2. (
  3. local t, matname, mat;
  4. mat = material ;
  5. if (mat != undefined) then
  6. (
  7. matname = material.name ;
  8. format "3ds/%\n" matname to:outFile ;
  9. format "{\n" ;
  10. format(" ambient % % %\n") (mat.ambient.r/255.0) (mat.ambient.g/255.0) (mat.ambient.b/255.0) to:outFile ;
  11. format(" diffuse % % %\n") (mat.diffuse.r/255.0) (mat.diffuse.g/255.0) (mat.diffuse.b/255.0) to:outFile ;
  12. format(" specular % % % %\n") (mat.specular.r/255.0) (mat.specular.g/255.0) (mat.specularLevel*100.0) to:outFile ;
  13. format(" emissive % % % %\n") (mat.selfIllumColor.r/255.0) (mat.selfIllumColor.g/255.0) (mat.selfIllumColor.b/255.0) (mat.selfIllumAmount) to:outFile ;
  14. -- if mesh has a material: reading the diffuse map:
  15. if ((mat.diffusemap != undefined) and (iskindof mat.diffusemap Bitmaptexture)) then
  16. (
  17. t = filterstring mat.diffusemap.filename "\\" ;
  18. format "{\n texture % \n}" t[arrayLength t] to:outFile ;
  19. )
  20. format "}\n" ;
  21. )
  22. )