_DEN_ Генерация имеет свои плюсы, и сбрасывать её со счетов не надо. Ни в одних играх нужно 3D. Да и в них она тоже используется. gluCylinder сделан экспортом из редактора? И для развития очень полезна, помогает впомнить матеку.
_DEN_ Ну в чём то ты прав.)). В принципе знаний ПТУ для этого достаточно )). Но для экспорта моделей и этого не надо.
Пошел я "кульным способом". Написал подпрограмму Сylinder. Код выглядит так Код (Text): Cylinder: mov [count],628 mov [angle],ebx wrap: nop call Coord push [X] pop [X0] push [Y] pop [Y0] fld [angle] fadd [gamma] fstp [angle] call Coord push [X] pop [X1] push [Y] pop [Y1] invoke glBegin,GL_QUADS invoke glColor3f,1.0,1.0,1.0 invoke glVertex3f,[X0],[Y0],ebx invoke glColor3f,1.0,1.0,1.0 invoke glVertex3f,[X1],[Y1],ebx invoke glColor3f,1.0,1.0,1.0 invoke glVertex3f,[X1],[Y1],[h] invoke glColor3f,1.0,1.0,1.0 invoke glVertex3f,[X0],[Y0],[h] invoke glEnd invoke glBegin,GL_TRIANGLES invoke glColor3f,1.0,ebx,ebx invoke glVertex3f,ebx,ebx,ebx invoke glColor3f,1.0,ebx,ebx invoke glVertex3f,[X0],[Y0],ebx invoke glColor3f,1.0,ebx,ebx invoke glVertex3f,[X1],[Y1],ebx invoke glColor3f,1.0,ebx,ebx invoke glVertex3f,ebx,ebx,[h] invoke glColor3f,1.0,ebx,ebx invoke glVertex3f,[X0],[Y0],[h] invoke glColor3f,1.0,ebx,ebx invoke glVertex3f,[X1],[Y1],[h] invoke glEnd dec [count] jnz wrap ret Coord: fld [angle] fsin fstp [sinus] fld [R] fmul [sinus] fstp [Y] fld [angle] fcos fstp [cosin] fld [R] fmul [cosin] fstp [X] ret count dd ? angle dd ? gamma dd 0.01 sinus dd ? cosin dd ? R dd 1.0 X dd ? Y dd ? X0 dd ? Y0 dd ? X1 dd ? Y1 dd ? h dd -2.0 Подпрограмма работает, но дергается все страшно, да и глючит хорошенько. Где баг не знаю.
Все в шоколаде. То просто у меня задняя отсекающая плоскоть была слишком близко. Но вопрос о том, как его текстурировать остался. По ПТУ-шному мозги поразвивать полезно, но зачем делать то, что уже сделано. Напишите код с помощью, скоторого я могу нарисовать цилиндр через GLU!
Hotwire Завернуть? Я тебе дал три функции. Первая создает квадрик, вторая говорит о том, надо ли его текстурировать. Третья из этого квадрика рисует циллиндр. что может быть проще?
Шо такое квадрик. Можно написать код, в котором создаётся цилиндр с текстурой? Я в C нихрена не понимаю. Напишите код под FASM.
К Booster Интересно коллега, как вы флажок нарисуете. Уже готов скачивать сорс с экзешником. (Сорс с комментариями, пожалуйста).
Что-то мне кажется, что сильно я от темы отклонился. Полем боя для танков, как я уже раньше решил будет квадрат с текстурой. Этот квадрат я решил разбить на 4096 более маленьких квадратиков(64X64), на каждом из которых может находиться танк или какая-нибудь другая хренотень (дерево,забор,камень). У меня два вопроса. Первый, как нарисовать дерево? Второй, как клаву опрашивать?
Hotwire О флаге. Сорс уже есть, посмотри внимательней на сайте. Что до меня, то я уже пару лет как на асме ничего такого не пишу что только на нём сделать легче и проще чем на C++. Те что у меня есть только на C++. Есть на OpenGL и DirctX, есть на fixed pipline и ест на шейдерах. Об этом есть ещё в уроках Hehe. В принципе всё очень просто, делаешь сетку из квадов или треугольников, расчитываешь текс. коорд. И потом динамически меняешь по синусоиде Z координаты. Буду краток. 1) Ришуешь в максе, потом делаешь загрузчик из .ASE файла. Либо куришь мак скрипт, выгружаешь с помощью него в файл, и так же пишешь загрузчик. 3DS использовать не советую, так как это закрытый формат (плохо документирован), довольно ограниченный (похоже discreet на него забила со времён доса, и поддерживает толко для совместимости), и в нём много чего того, что для загрузки модели не надо, а надо только для самого макса. 2) Куришь DirectInput.
Booster А spectrum то вообще убогий очень не хочитсё флеймить, но задел за живое))) Когда на ибм,прорезались черно белые буквы, на спекки уже была цветная графика, для моего поколения это было круто,за 386 можно было купить квартиру, спектрум был доступен практически всем,незря же Синклер получил "сэра".Практически все писалось на асме и там и там,несмотря на обилие графических режимов на ибм, "квадратики" в Вольфе 3д никуда не делись))) понравился жанр, да, но гафика просто убогая))лично для меня эра игр на рс началась с Вуду,коий стоит в рамочке рядом с 48 спектрумом,такой вот мини музей)) сорри за офтоп))))
_SaNitAr Не ну спектрум - классика не спорю. Просто я прекланяюсь перед программерами этого чуда. Хотя конечно известно, что для него почти всё писалось сначало на AT, а потом только переносилось. А иначе писать просто убийство, но ведь по началу писалось чисто на спекруме. Только представьте какой полёт мысли при 48 кб памяти, когда нету всяких С, Паскалей, а есть только asm, и заметьте это ещё не Masm или Tasm. А про поддержу операцонной системы вообще молчу. Я до сих пор в шоке от вещей наподобии "Сфинкса".
Во времена популярности Спека об АТ еще вообще только мечтали. Все писалось на самом Спеке на ассме (в 99% случаев). Это сейчас железные Спеки есть только у фанатов того времени, а в остальном действительно проще работать с эмулятором....
Дерево решил нарисовать конусом, на котором есть текстура. Пока еще дерево не готово, но скоро все будет. Передо мной новая проблема. По треугольному(пока) танку попал треугольный(пока) снаряд, а теперь танк должен взорваться. Как бы это реализовать? В разделе исходников есть пример использования расширений OpenGL'а(вертексной программы), но автор посчитал, что комментарии там не нужны. Напишите их плиз. Вспоминаю ваши слова, которыми вы пытались меня отговорить. Вы были правы дело сложное, но отступать поздно. За плечами много строчек кода.
как вариант разобрать gif на битмапы и последовательно отобразить их glBitmap или glDrawPixels, хотя возможно есть способ поэлегантнее.