Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Выпуклое изображение

Выпуклое изображение

Поделиться
tangoПостоялецwww17 сен. 201719:59#0
Всем привет!
Подскажите через какой алгоритм прогнать координаты некой тайловой карты(тайл описан четырмя координатами и имеет форму квадрата) что бы получить что то подобное:
Изображение
вроде выпуклого изображения. Если с примером реализации на каком нибудь ЯП, то будет вообще супер!
RanmaПостоялецwww17 сен. 201720:33#1
Называется barrel distortion, вот тут например есть код на GLSL: http://github.prideout.net/barrel-distortion
MikleМодераторwww18 сен. 201710:33#2
tango
> Если с примером реализации на каком нибудь ЯП, то будет вообще супер!
Пример на VB6 с исходником: Barrel

Сам расчёт:

  Dim x As Long, y As Long
  Dim dx As Single, dy As Single
  Dim kx As Single, ky As Single
  Const Kf As Single = 0.7 / (512& * 512) '0.7 - Величина эффекта

  For y = 0 To 511                        '512 - размер
    dy = 255.5 - y                        '255.5 - середина
    ky = 1 - dy * dy * Kf
    For x = 0 To 511
      dx = 255.5 - x
      kx = 1 - dx * dx * Kf
      ArOut(255.5 - dx * ky, 255.5 - dy * kx) = ArIn(x, y)
    Next x
  Next y
Это для размера 512, смысл должен быть понятен.

tangoПостоялецwww18 сен. 201719:07#3
Всем, спасибо!
Похоже то что нужно
TheGAMEНовичокwww19 ноя. 201718:00#4
>Это для размера 512, смысл должен быть понятен.
да

/ Форум / Программирование игр / 2D графика и изометрия

2001—2017 © GameDev.ru — Разработка игр