update vt file exporting
This commit is contained in:
parent
52452a96d5
commit
3025fcf305
@ -88,7 +88,8 @@ def _export_virtools(file_name_: str, encodings_: tuple[str], compress_level_: i
|
||||
# export material
|
||||
texture_crets: tuple[_TTexturePair, ...] = _export_virtools_materials(
|
||||
writer, progress, material_crets)
|
||||
|
||||
# export texture
|
||||
_export_virtools_textures(writer, progress, texture_crets)
|
||||
|
||||
# save document
|
||||
_save_virtools_document(
|
||||
@ -325,9 +326,54 @@ def _export_virtools_materials(
|
||||
# start saving
|
||||
progress.enter_substeps(len(material_crets), "Saving Materials")
|
||||
|
||||
for material, vtmaterial in material_crets:
|
||||
for mtl, vtmaterial in material_crets:
|
||||
# set name
|
||||
vtmaterial.set_name(material.name)
|
||||
vtmaterial.set_name(mtl.name)
|
||||
|
||||
# get raw mtl
|
||||
rawmtl: PROP_virtools_material.RawVirtoolsMaterial = PROP_virtools_material.get_raw_virtools_material(mtl)
|
||||
|
||||
# apply vt material
|
||||
vtmaterial.set_diffuse(rawmtl.mDiffuse)
|
||||
vtmaterial.set_ambient(rawmtl.mAmbient)
|
||||
vtmaterial.set_specular(rawmtl.mSpecular)
|
||||
vtmaterial.set_emissive(rawmtl.mEmissive)
|
||||
vtmaterial.set_specular_power(rawmtl.mSpecularPower)
|
||||
|
||||
# apply assoc texture
|
||||
if rawmtl.mTexture is not None:
|
||||
# create or get new one vt texture
|
||||
vttexture: bmap.BMTexture | None = texture_cret_map.get(rawmtl.mTexture, None)
|
||||
if vttexture is None:
|
||||
vttexture = writer.create_texture()
|
||||
texture_cret_map[rawmtl.mTexture] = vttexture
|
||||
texture_crets.append((rawmtl.mTexture, vttexture))
|
||||
# assign texture
|
||||
vtmaterial.set_texture(vttexture)
|
||||
else:
|
||||
vtmaterial.set_texture(None)
|
||||
|
||||
vtmaterial.set_texture_border_color(rawmtl.mTextureBorderColor)
|
||||
|
||||
vtmaterial.set_texture_blend_mode(rawmtl.mTextureBlendMode)
|
||||
vtmaterial.set_texture_min_mode(rawmtl.mTextureMinMode)
|
||||
vtmaterial.set_texture_mag_mode(rawmtl.mTextureMagMode)
|
||||
vtmaterial.set_texture_address_mode(rawmtl.mTextureAddressMode)
|
||||
|
||||
vtmaterial.set_source_blend(rawmtl.mSourceBlend)
|
||||
vtmaterial.set_dest_blend(rawmtl.mDestBlend)
|
||||
vtmaterial.set_fill_mode(rawmtl.mFillMode)
|
||||
vtmaterial.set_shade_mode(rawmtl.mShadeMode)
|
||||
|
||||
vtmaterial.set_alpha_test_enabled(rawmtl.mEnableAlphaTest)
|
||||
vtmaterial.set_alpha_blend_enabled(rawmtl.mEnableAlphaBlend)
|
||||
vtmaterial.set_perspective_correction_enabled(rawmtl.mEnablePerspectiveCorrection)
|
||||
vtmaterial.set_z_write_enabled(rawmtl.mEnableZWrite)
|
||||
vtmaterial.set_two_sided_enabled(rawmtl.mEnableTwoSided)
|
||||
|
||||
vtmaterial.set_alpha_ref(rawmtl.mAlphaRef)
|
||||
vtmaterial.set_alpha_func(rawmtl.mAlphaFunc)
|
||||
vtmaterial.set_z_func(rawmtl.mZFunc)
|
||||
|
||||
# step
|
||||
progress.step()
|
||||
@ -336,6 +382,24 @@ def _export_virtools_materials(
|
||||
progress.leave_substeps()
|
||||
return tuple(texture_crets)
|
||||
|
||||
def _export_virtools_textures(
|
||||
writer: bmap.BMFileWriter,
|
||||
progress: ProgressReport,
|
||||
texture_crets: tuple[_TTexturePair, ...]
|
||||
) -> None:
|
||||
# start saving
|
||||
progress.enter_substeps(len(texture_crets), "Saving Textures")
|
||||
|
||||
for tex, vttexture in texture_crets:
|
||||
# set name
|
||||
vttexture.set_name(tex.name)
|
||||
|
||||
# step
|
||||
progress.step()
|
||||
|
||||
# leave progress and return
|
||||
progress.leave_substeps()
|
||||
|
||||
def _save_virtools_document(
|
||||
writer: bmap.BMFileWriter,
|
||||
progress: ProgressReport,
|
||||
|
Loading…
Reference in New Issue
Block a user