CUDA (Проект)/Описание алгоритма работы программы — различия между версиями
Материал из Wiki
ANA (обсуждение | вклад) |
ANA (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
{{CUDA (Проект) TOC}} | {{CUDA (Проект) TOC}} | ||
+ | |||
+ | == BMP формат == | ||
+ | * [https://ru.wikipedia.org/wiki/BMP Описание формата] | ||
{| align=center | {| align=center | ||
− | ! <html><img src="https://docs.google.com/drawings/d/ | + | ! <html><img src="https://docs.google.com/drawings/d/1Xvmw_mrtJ7FQ6NgIVk5F0hj_cLJLGJKDtM4GaiHERws/pub?w=500"></html> |
|- | |- | ||
! Рисунок 1 ([https://docs.google.com/drawings/d/1W92DU0KQbYLQDlcgS59MUKxijwtx3bpY7UiVcSzEPaM/edit Edit]) | ! Рисунок 1 ([https://docs.google.com/drawings/d/1W92DU0KQbYLQDlcgS59MUKxijwtx3bpY7UiVcSzEPaM/edit Edit]) | ||
+ | |} | ||
+ | |||
+ | == PPM формат == | ||
+ | |||
+ | * описание формата [http://paulbourke.net/dataformats/ppm/ PPM] | ||
+ | |||
+ | {| align=center | ||
+ | ! <html><img src="https://docs.google.com/drawings/d/1Xvmw_mrtJ7FQ6NgIVk5F0hj_cLJLGJKDtM4GaiHERws/pub?w=500"></html> | ||
+ | |- | ||
+ | ! Рисунок 1 ([https://docs.google.com/drawings/d/1W92DU0KQbYLQDlcgS59MUKxijwtx3bpY7UiVcSzEPaM/edit Edit]) | ||
+ | |} | ||
+ | |||
+ | * "image in top to bottom, left to right order." | ||
+ | |||
+ | == Расчет координат == | ||
+ | |||
+ | {| align=center | ||
+ | ! <html><img src="https://docs.google.com/drawings/d/1W92DU0KQbYLQDlcgS59MUKxijwtx3bpY7UiVcSzEPaM/pub?w=800"></html> | ||
+ | |- | ||
+ | ! Рисунок 2 ([https://docs.google.com/drawings/d/1W92DU0KQbYLQDlcgS59MUKxijwtx3bpY7UiVcSzEPaM/edit Edit]) | ||
|} | |} | ||
Строка 10: | Строка 33: | ||
* Координаты левого верхнего угла для Tex1 при заданном смещении x и y: | * Координаты левого верхнего угла для Tex1 при заданном смещении x и y: | ||
** Tex1PixelX = width - xmargin + x | ** Tex1PixelX = width - xmargin + x | ||
− | ** Tex1PixelY = (y<yoffset) ? | + | ** Tex1PixelY = (y<yoffset) ? height : height - y ; |
* Координаты левого верхнего угла для Tex2 при заданном смещении x и y: | * Координаты левого верхнего угла для Tex2 при заданном смещении x и y: | ||
** Tex2PixelX = 0 | ** Tex2PixelX = 0 | ||
− | ** Tex2PixelY = (y<yoffset) ? yoffset - y : 0 ; | + | ** Tex2PixelY = (y<yoffset) ? height - (yoffset - y) : 0 ; |
* Ширина и высота поля перекрытия: | * Ширина и высота поля перекрытия: | ||
** xwidth = xmargin - x; | ** xwidth = xmargin - x; |
Версия 10:55, 16 августа 2013
Проект CUDA
- Техническое задание
- DDS формат
- Алгоритм сшифки кадров
- Описание программы GLView
Литература
Содержание |
BMP формат
|
---|
Рисунок 1 (Edit) |
PPM формат
- описание формата PPM
|
---|
Рисунок 1 (Edit) |
- "image in top to bottom, left to right order."
Расчет координат
|
---|
Рисунок 2 (Edit) |
Горизонтальное сравнение
- Координаты левого верхнего угла для Tex1 при заданном смещении x и y:
- Tex1PixelX = width - xmargin + x
- Tex1PixelY = (y<yoffset) ? height : height - y ;
- Координаты левого верхнего угла для Tex2 при заданном смещении x и y:
- Tex2PixelX = 0
- Tex2PixelY = (y<yoffset) ? height - (yoffset - y) : 0 ;
- Ширина и высота поля перекрытия:
- xwidth = xmargin - x;
- yheight = (y<yoffset) ? height - yoffset + y : height - (y - yoffset) ;
pixel = xwidth * yheight ; for (div = 0; div < xwidth ; div++) { Tex1CoorXf = (Tex1PixelX + divx) / (float) width; Tex2CoorXf = (Tex2PixelX + divx) / (float) width; for (divy = 0; divy < yheight ; divy++) { Tex1CoorYf = (Tex1PixelY + divy) / (float) width; Tex2CoorYf = (Tex2PixelY + divy) / (float) width; Tex1Pixel = tex2D(tex1, Tex1CoorXf, Tex1CoorYf); Tex2Pixel = tex2D(tex2, Tex2CoorXf, Tex2CoorYf); ErrorSum += PixelSub(Tex1Pixel, Tex1Pixel); } } ErrorSum = ErrorSum/pixel; dM[x,y] = ErrorSum;
Вертикальное сравнение
- Координаты левого верхнего угла для Tex1 при заданном смещении x и y:
- Tex1PixelX = (x<xoffset) ? 0 : x ;
- Tex1PixelY = height - ymargin + y
- Координаты левого верхнего угла для Tex2 при заданном смещении x и y:
- Tex2PixelX = (x<xoffset) ? xoffset - x : 0 ;
- Tex2PixelY = 0
- Ширина и высота поля перекрытия:
- xwidth = (x<xoffset) ? width - xoffset + x : width - (x - xoffset) ;
- yheight = ymargin - y;