Войти
ПроектыФорумКонкурсы

Return to the Battle City - победитель конкурса танчиков (3 стр)

Страницы: 1 2 3 4 Следующая »
#30
0:38, 12 сен. 2010

ALPINE
> выложена Linux-версия
Может тогда и на Haiku запустишь? Графика вроди не сложная, софтвар выдержит.

#31
0:47, 12 сен. 2010

до этого момента о такой ОС не слышал :)
нет, под хаику реализацию делать не буду. надо довести до ума Linux (да и винду), и по хорошему браться за мак; но это будет не скоро, ибо мак я толком в глаза не видел :)

#32
2:17, 12 сен. 2010

ALPINE
> Спрайта 32х32 текселя, а его размер может варьироваться в зависимости от размера окна.
Т.е. на экране один и тот же спрайт может рисоваться и в 32х32, и в 39х39? В таком случае стыки без геморроя не заборешь. В ход пойдут и бордюры, и прочая лабуда.

#33
3:08, 12 сен. 2010

> Т.е. на экране один и тот же спрайт может рисоваться и в 32х32, и в 39х39?
да, квадрат NxN от 1х1 до 8192х8192 :)
> В ход пойдут и бордюры, и прочая лабуда.
не понял. Я вообще не понимаю, почему он цепляет стоящий рядом спрайт? я же указываю 0.5f, это значит... ага, стык 31-го и 32-го текселя (текстура 64х64), и размытие он делает вроде как правильно. И решением было бы смещение на пол текселя - но ты сказал, что так делают только с D3D. может это решение подойдет и для OpenGL? проверю. А какое решение правильное?

#34
13:49, 12 сен. 2010

>И решением было бы смещение на пол текселя
Не в этом случае. Пол-текселя - это вообще про D3D, и только для случая маппинга 1:1.
Стыков не будет, когда граница между писелями спрайта на экране проходит точно между текселями. Но у тебя никакой привязки не озвучено, спрайт может быть произвольного размера.
Для наглядности:
tex_to_pix | Return to the Battle City - победитель конкурса танчиков

Меньшая сетка - экранные пиксели. Крупные квадраты - тексели спрайта.
Слева вариант, когда границы текселей совпадают с границами пикселей.
Справа - плохой вариант. Границы не совпадают. А так как нельзя нарисовать половину пикселя, то в него попадают часть данных из соседнего спрайта на той же текстуре (красный).

И это только про границы прямоугольных спрайтов. Внутри спрайта работают те же правила. Если границы текселей не совпадают с границами пикселей, то получишь или замыливание текстуры  при GL_LINEAR, или дергающиеся при перемещениях линии (толщина будет то нормальной, то вдвое шире) при GL_NEAREST.

Часто вспоминаемые полпикселя - это потому что (грубо) границы текселей в D3D идут по центру экранных пикселей.
Подробнее: Rasterization rules.
К GL оно не имеет никакого отношения.

#35
18:08, 12 сен. 2010

Большое спасибо. Значит, решение - расставлять вершины точно по пикселям, т.е. удостовериться, что например glVertex2f(1.0f; 1.0f) при текущей матрице проекции и трансформации укажет точно в пиксель. правильно понимаю?

#36
18:19, 12 сен. 2010

Классные танчики, только кирпичи сделай покрасивее.

#37
21:48, 12 сен. 2010

ALPINE
> т.е. удостовериться, что например glVertex2f(1.0f; 1.0f) при текущей матрице
> проекции и трансформации укажет точно в пиксель. правильно понимаю?
Правильно. Только не в центр пикселя, а на его границу. Т.е. вершина (1,1) находится точно в правом нижнем (/верхнем) углу пикселя.

#38
1:08, 15 сен. 2010

Linux версия не запускается.

$ cd r2bc_linux/bin
$ chmod +x r2bc_X11
$ ./r2bc_X11
./r2bc_X11: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory
$ sudo cp /usr/lib/libopenal.so.0 /usr/lib/libopenal.so.1
Password:
$ ./r2bc_X11
./r2bc_X11: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./r2bc_X11)
./r2bc_X11: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./r2bc_X11)
./r2bc_X11: /lib/libc.so.6: version `GLIBC_2.4' not found (required by ./r2bc_X11)
$ uname -a
Linux localhost.localdomain 2.6.17-1.2157.1asp #1 Fri Aug 11 03:02:11 EEST 2006 i686 athlon i386 GNU/Linux

#39
1:15, 15 сен. 2010

Den Zurin
ну видно же - у тебя отсутствует OpenAL. чё-то не понял какой у тебя дистрибутив, но как правило libopenal есть во всех репозиториях.

#40
1:22, 15 сен. 2010

Ну как же это отсутствует?
> $ sudo cp /usr/lib/libopenal.so.0 /usr/lib/libopenal.so.1
Дистрибутив ASP Linux 11 (2006 г.). Сейчас попробую запустить на Убунте, она поновее.

#41
1:23, 15 сен. 2010

ALPINE
> чё-то не понял какой у тебя дистрибутив
2.6.17-1.2157.1asp
У него ASPLinux, только че-то старенький.

#42
1:32, 15 сен. 2010

Ой, сорри, невнимательно прочитал лог.
> ./r2bc_X11: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./r2bc_X11)
видимо, умный компилятор GCC (G++) не утруждал себя включать в бинарный файл функции стандартных библиотек С++, и приложение реально берёт их из libstdc++.so; как будет время, я покурю этот вопрос и скомпилирую более "полную" версию. А у тебя наверное и правда старенькая система - может, обновы поставишь...

#43
1:51, 15 сен. 2010

ALPINE
> как будет время, я покурю этот вопрос
Есть ключик -static-libgcc, у версий посвежее есть еще и -static-libstdc++.

#44
15:44, 15 сен. 2010

"Милые" - самое подходящее слово:)
и звуки вызывают ностальгию помню как в свое время на Денди резались..:)
Я вот тоже заканчиваю проект своих "бэттл-танчиков" и даже не знал, что какой-то конкурс оказывается проводится..

Страницы: 1 2 3 4 Следующая »
ПроектыФорумКонкурсы

Тема в архиве.