Atlas Creation Tool Using the Command-line Tool



Similar documents
GRID VGPU FOR VMWARE VSPHERE

Technical Brief. DualNet with Teaming Advanced Networking. October 2006 TB _v02

NVIDIA Tesla Compute Cluster Driver for Windows

NVIDIA GeForce Experience

Tegra Android Accelerometer Whitepaper

Black-Scholes option pricing. Victor Podlozhnyuk

How To Write A Cg Toolkit Program

DUAL MONITOR DRIVER AND VBIOS UPDATE

Binomial option pricing model. Victor Podlozhnyuk

NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X

Technical Brief. Introducing Hybrid SLI Technology. March 11, 2008 TB _v01

GPU Christmas Tree Rendering. Evan Hart

XID ERRORS. vr352 May XID Errors

Technical Brief. NVIDIA nview Display Management Software. May 2009 TB _v02

NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS

Monte-Carlo Option Pricing. Victor Podlozhnyuk

QUADRO POWER GUIDELINES

Workstation Applications for Windows. NVIDIA MAXtreme User s Guide

Parallel Prefix Sum (Scan) with CUDA. Mark Harris

OpenCL Programming for the CUDA Architecture. Version 2.3

TEGRA LINUX DRIVER PACKAGE R21.1

Whitepaper. NVIDIA Miracast Wireless Display Architecture

Adobe Acrobat 9 Deployment on Microsoft Systems Management

NVIDIA NVIEW DESKTOP MANAGEMENT SOFTWARE

NVIDIA GeForce GTX 580 GPU Datasheet

Technical Brief. MediaShield Storage Technology: Confidently Storing Your Digital Assets. March 2007 TB _v03

NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X

Intel WiDi Remote 1.0 Release Notes

Oracle Online Training Materials Usage Agreement

GRID LICENSING. DU April User Guide

NVIDIA Mosaic Technology

GRID VIRTUAL GPU FOR CITRIX XENSERVER Version ,

Video Encoding on Intel Atom Processor E38XX Series using Intel EMGD and GStreamer

Optimization for DirectX9 Graphics. Ashu Rege

PDFSealer User s Guide. ITEKSOFT Corporation Copyright All rights reserved

NVIDIA VIDEO ENCODER 5.0

TESLA K20X GPU ACCELERATOR

Highlight File Format ADOBE SYSTEMS INCORPORATED

NVIDIA GRID 2.0 ENTERPRISE SOFTWARE

Intel 845G/GL Chipset Dynamic Video Memory Technology

IBM Software Group. SW5706 JVM Tools IBM Corporation 4.0. This presentation will act as an introduction to JVM tools.

NVIDIA CUDA INSTALLATION GUIDE FOR MICROSOFT WINDOWS

QUADRO AND NVS DISPLAY RESOLUTION SUPPORT

A Adobe RGB Color Space

EPI SUITE 6 INSTALLATION INSTRUCTIONS

Symantec Enterprise Vault Technical Note. Backing up Enterprise Vault in a clustered environment. Windows

TESLA C2050/2070 COMPUTING PROCESSOR INSTALLATION GUIDE

Installing on Windows

BlackBerry Enterprise Server Express for IBM Domino. October 7, 2014 Version: 5.0 Service Pack: 4. Compatibility Matrix

TESLA K10 GPU ACCELERATOR

Keynote DeviceAnywhere/HP Application Lifecycle Management (HP ALM/QC) Integration Guide. TCE Automation 5.2

TESLA M2075 DUAL-SLOT COMPUTING PROCESSOR MODULE

IBM Enterprise Marketing Management. Domain Name Options for

TESLA M2050 AND TESLA M2070 DUAL-SLOT COMPUTING PROCESSOR MODULES

Intel 810 and 815 Chipset Family Dynamic Video Memory Technology

NVIDIA GRID K1 GRAPHICS BOARD

Introduction to Windows Server 2016 Nested Virtualization

NVIDIA Graphics Card and Driver Installation Guide (Windows NT 4.0 and Windows 2000)

Siebel Application Deployment Manager Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013

NVIDIA WMI. WP _v02 August White Paper

NVIDIA Tegra Android Platform Support Pack Getting Started Guide

Adobe Acrobat 9 Deployment on Microsoft Windows Group Policy and the Active Directory service

Copyright Notice. Mobile Testing Enterprise 7.3. September Copyright Keynote LLC. All rights reserved.

Quadro Professional Drivers Quadro FX 3800/4800/5800 and Quadro CX SDI User s Guide. Version 2.0

TIBCO MFT BusinessWorks MFT Palette

Orchestrate IT Process with an Integrated Workflow Management

TESLA K20 GPU ACCELERATOR

Basic ShadowProtect Troubleshooting

System Event Log (SEL) Viewer User Guide

Quest vworkspace Virtual Desktop Extensions for Linux

etrust Audit Using the Recorder for Check Point FireWall-1 1.5

SAMPLE SOFTWARE LICENSE AGREEMENT (Review Copy)

Technical Brief. Quadro FX 5600 SDI and Quadro FX 4600 SDI Graphics to SDI Video Output. April 2008 TB _v01

Intel Media SDK Features in Microsoft Windows 7* Multi- Monitor Configurations on 2 nd Generation Intel Core Processor-Based Platforms

DeviceAnywhere Automation for Smartphones Setup Guide Windows Mobile

GeForce Drivers NVIDIA Control Panel Quick Start Guide. Driver Release 174/175 for Windows NVIDIA Corporation

CCA DSS SP 2 Release Notes. For Microsoft Dynamics GP v10.0, v2010 and v2013

Brocade Enterprise SAN Switch Module for IBM eserver BladeCenter Brocade Entry SAN Switch Module for IBM eserver BladeCenter

NVIDIA GRID K2 GRAPHICS BOARD

Resetting USB drive using Windows Diskpart command

Microsoft Dynamics NAV

Foglight. Dashboard Support Guide

z/os V1R11 Communications Server system management and monitoring

Intel System Event Log (SEL) Viewer Utility

Intel Modular Server System MFSYS25

Creating Full Screen Applications Across Multiple Displays in Extended Mode

GRID VIRTUAL GPU FOR CITRIX XENSERVER Version ,

White Paper. ACPI Based Platform Communication Channel (PCC) Mechanism. InSarathy Jayakumar Intel Corporation

WinFast 3D S320V. User s Manual. Leadtek Research Inc.

Spotlight Management Pack for SCOM

Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual

CrontabFile Converter

CA Gener/OL r7.1. Overview. Business value

StoneGate SSL VPN Technical Note Adding Bundled Certificates

Sun Microsystems, Inc. ("Sun") ENTITLEMENT for SOFTWARE. Licensee/Company: Entity receiving Software.

Transcription:

Atlas Creation Tool Using the Command-line Tool The Atlas Creation Tool is a command-line tool that accepts a collection of arbitrary textures and packs them into one or more texture atlases. At the end of packing it generates a human-readable texture-atlas index (.tai) file that describes how each original texture maps to an atlas (for example, which atlas file contains the original texture and which sub-rectangle of that atlas it occupies). The.tai file thus allows transforming the original texture-coordinates to texture-coordinates that access the identical data from an atlas. To compare the output of the Atlas Creation Tool the generated atlases to the original texture data, you can run the Atlas Comparison Viewer (refer to the Atlas Comparison Viewer User Guide.) Using texture atlases instead of individual textures helps in reducing state changes (SetTexture() in particular), which reduces the number of Draw() calls per frame. Reducing state change and Draw() calls per frame ultimately reduces CPUutilization caused by driver overhead. The ShaderX3 chapter Improved Batching Via Texture Atlases (also available as the NVIDIA white paper Improved Batching Via Texture Atlases) discusses the theory, benefits, and limitations of texture atlases in more detail.

Using the Atlas Creation Tool The Texture Atlas Tool has the following command-line invocation syntax: TextureAtlasTool.exe [-h help -? -nomipmap volume -halftexel width <w> height <h> depth <d> -o <filename>] <img1> <img2>... -h prints this usage help -help prints this usage help -? prints this usage help -nomipmap only writes out the top-level mipmap -volume only valid w/ -nomipmap: make atlases volume textures -halftexel adds a half-texel offset to the generated texture coordinates -width <w> limits texture atlases to a maximum width of w texels -height <h> limits texture atlases to a maximum height of h texels -depth <d> limits texture atlases to a maximum depth of d texels -o <filenamee> mandatory option that specifies output filename What this means is that all parameters are optional except for the output filename and a list of two or more images to pack into an atlas. The tool supports the following file formats:.bmp,.dds,.dib,.jpg,.png, and.tga. Textures can be any size, including non-square. Typing the following on the command-line: TextureAtlasTool.exe o grass.png graydirt.png Given two images grass.png and graydirt.png of the same format generates the output shown in Figure 1. It also generates two new files: TexAtlas0.dds and TexAtlas.tai.

Figure 1. Command-line Output for Invoking Texture Atlas Tool with Minimal Parameters TexAtlas0.dds is an image file containing grass.png and graydirt.png in the Direct3D format X8R8G8B8. The TexAtlas.tai file is human-readable (see Figure 2) and describes how the texture coordinates of models using these textures need to be modified to access the same data out of the generated atlas: For example, all models using the grass.png texture before require that their u- coordinate be divided by 2 and add 0.5; to access the entire grass.png texture out of the TexAtlas0.dds the atlas texture-coordinates need to range from (0.5, 0) to (1, 1). Similarly, all models using the graydirt.png texture require that their u-coordinate be divided by 2; to access the entire graydirt.png texture out of the TexAtlas0.dds the atlas texture-coordinates need to range from (0, 0) to (0.5, 1). Figure 2. Generated TexAtlas.tai File

Command Line Options Table 1 lists the commands used from the Atlas Creation tool. Table 1. Command Line Options Command -h Descripription The h command-line option prints the current usage pattern as shown: -help -? -nomipmap -volume -halftexel The nomipmap option instructs the application to ignore all mip-maps for all textures: as a result, all generated texture-atlases contain only the top-level texture, i.e., no mip-maps. This behavior is useful for user-interface or similar textures where it is guaranteed that none of the mipmap levels are ever accessed. In general, disabling mip-mapping is undesirable, as it causes prohibitive performance reductions. In contrast, not specifying nomipmap loads and copies all of a texture s mip-maps into the respective atlas; if a texture does not contain any mip-maps or only a partial mip-map chain, then the Texture Atlas Tool relies on D3DXCreateTextureFromFileEx()with D3DX_DEFAULT parameters to generate the missing mip-maps. The resulting quality is thus questionable: using NVIDIA s texture tools (http://developer.nvidia.com/object/nv_texture_tools.html) to generate all mip-maps for all textures before passing them to the Texture Tool Atlas is preferred. The volume option specifies that all generated atlases are to be volume textures. This option requires that nomipmap is also specified, since volume atlases cannot store the mipmaps of textures. The halftexel option offsets all generated texture coordinates by half a texel so as to ensure that only the texels of the original texture are accessed. Refer to the ShaderX 3 chapter for details. -width <w> The width option limits the maximum width of all generated atlases to w. -height <h> The height option limits the maximum height of all generated atlases to h. -depth <d> The depth option limits the maximum depth of all generated volume atlases to d. -o <filename> The o option specifies the name of the generated atlas and.tai files. For example, specifying o Test will generate atlas files of the form Test0.dds, Test1.dds, etc, and a Test.tai file.

Typical Use Case Known Bugs A graphics-engine programmer identifies a collection of textures that are responsible for a large number of DrawPrimitive() calls due to repeated calls to SetTexture(). These textures ideally are of or are converted to the same format to maximize the efficiency of packing them into atlases. If some of these textures do not contain complete mip-map chains, integrate NVIDIA s texture tools into the tool chain to generate and store these mip-maps together with the original textures. (Various file-formats, e.g.,.dds, allow storing mip-map levels together with the original image.) Similarly, integrate the Atlas Creation Tool into the tool chain to convert these texture collections into collections of atlases. Create and integrate a separate tool that parses the generated.tai file to remap texture-coordinates of models to enable texturing out of the generated texture atlases. Optionally, use the Atlas Comparison Viewer or a similar home-made tool able to display converted models to inspect the resulting image quality of texturing out of an atlas versus texturing from the original texture. Running with the DirectX 9 Summer 2003 DEBUG runtime and packing DXTnformat textures generates a Direct3D error and thus forces the application to exit. We are currently investigating the root cause for this error. Switching to the retail run-time works around that error. Next Version Features Following is a list of currently unimplemented features under consideration for the next version of this application. Add cubemap option: only valid if at most six textures of the same format/dimension are supplied. Use the reference rasterizer as the hardware device: that way we get maximum capabilities, texture formats, and texture resolutions. Add a command-line option to force all generated atlases to a particular format.

Notice ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, MATERIALS ) ARE BEING PROVIDED AS IS." NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes no responsibility for the consequences of use of such information or for any infringement of patents or other rights of third parties that may result from its use. No license is granted by implication or otherwise under any patent or patent rights of NVIDIA Corporation. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. NVIDIA Corporation products are not authorized for use as critical components in life support devices or systems without express written approval of NVIDIA Corporation. Trademarks NVIDIA and the NVIDIA logo are trademarks or registered trademarks of NVIDIA Corporation. Other company and product names may be trademarks of the respective companies with which they are associated. Copyright 2004 NVIDIA Corporation. All rights reserved NVIDIA Corporation 2701 San Tomas Expressway Santa Clara, CA 95050 www.nvidia.com