«Бог не меняет того, что (происходит) с людьми, пока они сами не изменят своих помыслов.» Коран, Сура 12:13

CUDA (Проект)/Описание DDS формата — различия между версиями

Материал из Wiki
Перейти к: навигация, поиск
м (Ссылки)
м (Формат Glew)
 
Строка 256: Строка 256:
  
 
== Формат Glew ==
 
== Формат Glew ==
 +
=== Скрипт для построения списка имён изображений ===
  
 +
{{Hider|Листинг файла create_img_list.sh}}
 +
 +
{{Файл|create_img_list.sh|<big><big><source lang="verilog">
 +
#!/bin/bash
 +
 +
SRC_DIR=${1?"Project DIR not set!"}
 +
TYPE=${2:-bmp}
 +
 +
if [ $TYPE = "bmp" ] ; then
 +
  EXT="[bB][mM][pP]"
 +
elif [ TYPE = "dds" ] ; then
 +
  EXT="[dD][dD][sS]"
 +
else
 +
  EXT=$TYPE
 +
fi
 +
 +
SUBDIR_LIST=$(ls $SRC_DIR)
 +
 +
#echo $SUBDIR_LIST
 +
 +
for layer in $SUBDIR_LIST
 +
do
 +
  if [ -d "$SRC_DIR/$layer" ] ; then
 +
    echo $layer
 +
    layer_list=$SRC_DIR/${layer}_NAMES.txt
 +
    ls $SRC_DIR/$layer/*.${EXT} | sed 's/.[bB][mM][pP]//g' | sed "s/$SRC_DIR\/$layer\///g" > $layer_list
 +
  fi
 +
done
 +
 +
 +
exit 1</source></big></big>}}{{Hider|end}}
  
 
== Преобразование направления перечисления имён ==
 
== Преобразование направления перечисления имён ==

Текущая версия на 12:48, 9 сентября 2014

Проект CUDA

Литература

Содержание

Ссылки

DDS

BMP

Преобразование BMP файлов

Скрипт для преобразования формата BMP файла из формата с палитрой в BMP формат RGB (24 бита на пиксел)

Файл: bmp2bmp24.sh
#!/bin/bash
 
name=`basename $1 .bmp`
bmptopnm ./$1 | ppmtobmp -bpp 24 - > ./${name}_.bmp

Скрипт для преобразования формата BMP в DDS. Программа convert из пакета ImageMagic.

Файл: dds2bmp.sh
#!/bin/bash
 
for fname in $@
do
  echo Converting ${fname}...
  FILENAME=`basename -s .bmp ${fname}`
  convert ${fname} ./${FILENAME}.tga
  nvcompress -bc1 ./${FILENAME}.tga ./${FILENAME}.dds
  rm ./${FILENAME}.tga
done

Скрипт для преобразования формата DDS в BMP. Программа tgatoppm из пакета Netpbm

Файл: bmp2dds.sh
#!/bin/bash
 
for fname in $@
do
  echo Converting ${fname}...
  FILENAME=`basename -s .dds ${fname}`
  nvdecompress ${fname}
  tgatoppm ./${FILENAME}.tga | ppmtobmp -bpp 24 - > ./${FILENAME}.bmp
  rm ./${FILENAME}.tga
done

NVIDIA Texture Tools

Утилиты, входящие в пакет:

  • /usr/bin/nvzoom
  • /usr/bin/nvdecompress – преобразование сжатого изображения (DDS) в TGA.
  • /usr/bin/nvddsinfo - вывод информации о DDS
  • /usr/bin/nvimgdiff – сравнение изображений
  • /usr/bin/nvcompress – кодирует различные форматы в DDS
  • /usr/bin/nvassemble


nvcompress

  • Преобразует из форматов .tga, .bmp, .gif, .ppm, .jpg, .tif, .cel, .dds, .png и .psd в формат DDS с заданием ряда параметров для сохранения.
NVIDIA Texture Tools 2.0 - Copyright NVIDIA Corporation 2007
 
usage: nvcompress [options] infile [outfile]
 
Input options:
  -color        The input image is a color map (default).
  -alpha        The input image has an alpha channel used for transparency.
  -normal       The input image is a normal map.
  -tonormal     Convert input to normal map.
  -clamp        Clamp wrapping mode (default).
  -repeat       Repeat wrapping mode.
  -nomips       Disable mipmap generation.
 
Compression options:
  -fast         Fast compression.
  -nocuda       Do not use cuda compressor.
  -rgb          RGBA format
  -bc1          BC1 format (DXT1)
  -bc1n         BC1 normal map format (DXT1nm)
  -bc1a         BC1 format with binary alpha (DXT1a)
  -bc2          BC2 format (DXT3)
  -bc3          BC3 format (DXT5)
  -bc3n         BC3 normal map format (DXT5nm)
  -bc4          BC4 format (ATI1)
  -bc5          BC5 format (3Dc/ATI2)


nvdecompress

  • декодирование DDS в TGA
usage: nvdecompress 'ddsfile'

Пример:

nvdecompress N1R001C001.dds
tgatoppm N1R001C001.tga > N1R001C001.ppm
  • *.tga - нет программы для просмотра этого формата
  • но есть программа tgatoppm из пакета media-libs/netpbm для преобразования TGA в PPM (а pnm уже можно смотреть)

nvimgdiff

usage: nvimgdiff [options] original_file updated_file [output]

Diff options:
  -normal       Compare images as if they were normal maps.
  -alpha        Compare alpha weighted images.


nvassemble

usage: nvassemble [-cube|-volume|-array] 'file0' 'file1' ...


nvzoom

usage: nvzoom [options] input [output]

Options:
 -s scale     Scale factor (default = 0.5)
 -g gamma     Gamma correction (default = 2.2)
 -f filter    One of the following: (default = 'box')
               * box
               * triangle
               * quadratic
               * bspline
               * mitchell
               * lanczos
               * kaiser
 -w mode      One of the following: (default = 'mirror')
               * mirror
               * repeat
               * clamp


nvddsinfo

  • вывод информации о DDS файле
usage: nvddsinfo ddsfile

Пример работы:

nvddsinfo N1R001C027.dds
Flags: 0x000A1007
        DDSD_CAPS
        DDSD_PIXELFORMAT
        DDSD_WIDTH
        DDSD_HEIGHT
        DDSD_LINEARSIZE
        DDSD_MIPMAPCOUNT
Height: 768
Width: 1024
Depth: 0
Linear size: 393216
Mipmap count: 11
Pixel Format:
        Flags: 0x00000004
                DDPF_FOURCC
        FourCC: 'DXT1'
        Bit count: 0
        Red mask: 0x00000000
        Green mask: 0x00000000
        Blue mask: 0x00000000
        Alpha mask: 0x00000000
Caps:
        Caps 1: 0x00401008
                DDSCAPS_COMPLEX
                DDSCAPS_TEXTURE
                DDSCAPS_MIPMAP
        Caps 2: 0x00000000
        Caps 3: 0x00000000
        Caps 4: 0x00000000
Version:
        NVIDIA Texture Tools 2.0.8

Формат Photopreview


Формат Glew

Скрипт для построения списка имён изображений

Преобразование направления перечисления имён

convert_list.py Columns Rows [Type] InputFileName [OutputFileName]
  Type:
         0 (по умолчанию) — слева направо, сверху вниз;
         1 — слева направо, снизу вверх;
         2 — сверху вниз, слева направо;
         3 — снизу вверх, слева направо"

NEW