LINUX.ORG.RU

Без OpenGL? Значит ищем трехмерную математику, перспективную проекцию точек на экран, потом scanline алгоритм закрашивания треугольников, потом добавляем z-буфер и все готово. Пишется за день.

note173 ★★★★★
()
Ответ на: комментарий от note173

отлично... спасибо за совет!

Licwin ★★★★★
() автор топика

Делал лабы по графике (на Qt). 1 - несколько кубиков, 2-ая проекция плоской фигуры на 3-д фигуру (ЕМНИП на седло (непомню правильно ли она работала)).
http://rghost.ru/37285762

ymuv ★★★★
()
Ответ на: комментарий от note173

Без OpenGL? Значит ищем трехмерную математику, перспективную проекцию точек на экран, потом scanline алгоритм закрашивания треугольников, потом добавляем z-буфер и все готово.

Пишется за день.

А почему не за час?

вот за что я люблю ЛОР, так это за то, что тут у всех язык без костей.

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

Я писал это за день на j2me, начиная с полного незнания тех слов, что я перечислил в своем сообщении.

Проекция — 2 формулы (на самом деле одна, но можно обойтись без матриц). Заливка треугольника хорошо гуглится, причем по шагам — простая, с z-буфером и двумя типами текстурирования. Код работает сразу же после переноса к себе (неудивительно, там малюсенькие функции, правда на Си).

После этого можно перейти на матрицы и добавить отсечение, но по описанию автора темы это не обязательно.

note173 ★★★★★
()

Java/Scala/Clojure + Processing. И да, не майся всякой фигней.

anonymous
()

Не подскажите, как сделать 3D модель фигуры в движение на С/С++?

Ты решил курсач про это написать?

static_lab ★★★★★
()

MathGL + рисование примитивами либо TriPlot. Кнопочки и прочий GUI придется писать самому. Либо вращать клавишами/мышкой в окнах MathGL.

abalakin ★★
()
Ответ на: комментарий от note173

Пишется за день.

Хорошо, если за год, а не век...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от note173

Проекция — 2 формулы

Это если без движения. С движением и объёмом нужны будут матрицы и алгоритмы отсечения.

Norgat ★★★★★
()

Да, как всегда, не обойдусь без самопиара. Хоть программка и сильно не дописана, отображение 3D объекта (с использованием VBO или списков - в зависимости от железа) и его вращение/перемещение реализовано. Причем, с openGL все довольно просто делается.

// в downloads могут быть староватые файлы, лучше делать hg clone

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от note173

Не будет ли обычный райкастинг быстрее? Я когда-то в таких целях писал именно райкастинг.

Deleted
()
Ответ на: комментарий от dikiy

А почему не за час?

Часа мало. А вот дня-двух вполне достаточно: ничего чрезвычайно сложного там нет. А ты просто медленно кодишь :)

Deleted
()
Ответ на: комментарий от ms-dos32

Рейтрейсинг в реальном времени - это очень сложная штука, обычно реализуемая на GPU.

Deleted
()
Ответ на: комментарий от static_lab

Ты решил курсач про это написать?

ммм, пока еще не определился)

Licwin ★★★★★
() автор топика
Ответ на: комментарий от Zhbert

Да нет, просто это делалось в те времена, когда на большинстве телефонов не было апи для 3д графики, а было интересно. С нуля до закрашенного объекта с z-буфером — за день, потому что, как уже написал, есть хорошие статьи с портируемым рабочим кодом.

note173 ★★★★★
()
Ответ на: комментарий от ms-dos32

Для освещения и перспективно-корректного текстурирования рейтрейсинг не нужен.

note173 ★★★★★
()
Ответ на: комментарий от Deleted

Быстрее по написанию — не будет) По рисованию — зависит от сцены. Да и реализация для чего-то сложнее стенок wolfenstein'а не настролько тривиальна.

note173 ★★★★★
()
Ответ на: комментарий от note173

Проекция — 2 формулы (на самом деле одна, но можно обойтись без матриц). Заливка треугольника хорошо гуглится, причем по шагам — простая, с z-буфером и двумя типами текстурирования. Код работает сразу же после переноса к себе (неудивительно, там малюсенькие функции, правда на Си).

Угу а потом еще исправить мерцание на ребрах, вылазящие пиксели из-за границы полигона и т.п. Да еще и баги отловить.

И все за день, ога.

dikiy ★★☆☆☆
()
Ответ на: комментарий от Deleted

Часа мало. А вот дня-двух вполне достаточно: ничего чрезвычайно сложного там нет. А ты просто медленно кодишь :)

ну два дня - это я еще могу поверить. Но за день нормально разобраться в том, что же собсно ты пишешь, отлвить все баги/нюансы - это почти что нереально.

А ты просто медленно кодишь :)

наверное я предпочитаю сначала хорошенько разобраться :) Начинаю кодить только когад в голове уже конкретная структура программы и алгоритмов есть.

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

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

Но вышеотписавшийся вообще о практически нереальных сроках глаголит.

Один день - реальный срок. В чем там можно так долго разбираться и писать?

Raving_Zealot ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.