コード例 #1
0
ファイル: common.c プロジェクト: hilander/demoscene
void DistortionMapWriteToFile(DistortionMapT *map, const StrT fileName) {
  size_t mapLen = sizeof(uint16_t) * map->width * map->height;
  size_t length = sizeof(int16_t) * 2 + mapLen;
  DiskDistortionMapT *diskMap = MemNew(length);

  diskMap->width = map->width;
  diskMap->height = map->height;
  memcpy(diskMap->data, map->map, mapLen);
  WriteFileSimple(fileName, diskMap, length);
}
コード例 #2
0
ファイル: common.c プロジェクト: argasek/morphine
void UVMapWriteToFile(UVMapT *map, const char *fileName) {
  size_t mapLen = sizeof(uint16_t) * map->width * map->height;
  size_t length = sizeof(int16_t) * 2 + mapLen;
  DiskUVMapT *diskMap = MemNew(length);

  diskMap->width = map->width;
  diskMap->height = map->height;

  {
    uint8_t *srcU = map->map.fast.u;
    uint8_t *srcV = map->map.fast.v;
    uint8_t *dst = diskMap->data;

    do {
      *dst++ = *srcU++;
      *dst++ = *srcV++;
    } while (--mapLen);
  }

  WriteFileSimple(fileName, diskMap, length);
}