Tools for viewing and rendering Tree of Savior XAC 3D model files with proper texture support.
- OpenGL rendering with full UV texture mapping
- Parse XAC files and extract mesh geometry, materials, and textures
- Batch process multiple XAC files to JPG images
- Proper DDS texture loading and application
- Isometric view rendering (45° angle, 30° elevation)
batch_render_opengl.py- OpenGL batch renderer with proper textureslib/- Minimal XAC parser library (extracted from LaimaEditor)xac_parser.py- XAC file format parserdebug_stub.py- Debug console stub
input/- Folder for your XAC filesoutput/- Rendered imagesREADME.md- Documentation
XacViewer/
├── batch_render_opengl.py # OpenGL renderer (recommended)
├── README.md # Documentation
├── lib/ # XAC parser library
│ ├── xac_parser.py
│ └── debug_stub.py
├── input/ # Put your .xac files here
│ ├── char_hi.ipf/
│ └── char_texture.ipf/
└── output/ # Rendered images (auto-created)
└── *_iso.jpg
Recommended: OpenGL Renderer (proper UV-mapped textures)
# Interactive mode
python batch_render_opengl.py
# Then enter paths when prompted
# Command line mode
python batch_render_opengl.py <input_folder> <output_folder> --textures <texture_folder>Example:
python batch_render_opengl.py input/char_hi.ipf output --textures input/char_texture.ipfThis will:
- Find all
.xacfiles in the input folder recursively - Render each one from a certain view
- Save as
{filename}_iso.jpgin the output folder - Apply UV-mapped textures with proper DDS support
Recommended: Modify angle_v and angle_h to change rendering camera angles*
For OpenGL Renderer (recommended):
pip install PyOpenGL PyOpenGL_accelerate glfw imageio pillow numpy pyrr- JPG images with possible isometric view (800x600)
- Filename format:
{model_name}_iso.jpg - Default output location:
output/folder - Full UV-mapped textures applied
- XAC parser extracted from LaimaEditor by the Tree of Savior community
- Parser reference: https://github.com/R-Hidayatullah/tos-parser
- Minimal library version created for standalone batch processing
- XAC files are 3D model files used in Tree of Savior
- Textures are optional but recommended for better visual quality
- The batch renderer uses average texture colors for face coloring when full texture mapping isn't available