Войти
ФлеймФорумПрограммирование

Программировании графики в Досе + Алгоритм Робертса

Страницы: 1 2 3 Следующая »
#0
21:40, 25 сен 2011

Сейчас проходим в универе Компьютерную графику. Программируем в досе под Borland C++ 3.1. Пока сделал по лабе нормально вращающийся, передвигающийся, масштабируемый прямоугольник. Но на этом потихоньку мои знания с программирования графики истощаются. Следом пойдет 3D - с этим у меня уже беда.
Вобщем взял себе (хоть препод и отговаривала)  тему с удалением невидимых поверхностей вращающихся и пересекающихся меж друг другом куба и параллелепипеда. Делать надо в досе, алгоритм Робертса.
Сейчас листаю, что-то туго соображается, но как я понимаю, тут Line не прокатит и надо все putpixel'ем рисовать?

И может кто посоветует еще какой литературы немного полегче? Рисование точками и линиями

#1
21:43, 25 сен 2011

Drazd
а нельзя сразу свой массив залить на экран, т.е сделать свой солор буфер с блек джеком и девицами, а потом его скармливать, видюхе/драйверу и т.д?

#2
21:48, 25 сен 2011

MAMONT-92
А как этот буфер делать то? Никакими опенглами и дхами пользоваться нельзя, только Дос, только хардкор

#3
21:55, 25 сен 2011

Drazd
> А как этот буфер делать то?

Я бы не парил мозг, - взял бы egavga.bgi и переключал бы видеостраницы.

#4
21:56, 25 сен 2011

0iStalker
> и переключал бы видеостраницы.
А как этим решается проблема удаления невидимых граней о_О?

#5
21:57, 25 сен 2011

Компьютерная графика на BC++? Суровые у вас в университете курсовые...

#6
21:57, 25 сен 2011

Drazd
> А как этим решается проблема удаления невидимых граней о_О?

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

#7
22:14, 25 сен 2011

0iStalker
Вот такая штука вот должна получатся:
Изображение
То есть чтобы объект мог проходить сквозь другой объект и еще выглядывать с той стороны. Просто не особо себе представляю реализацию выводом линиями.

#8
22:17, 25 сен 2011

Drazd
тебе линии должны лишь строить видимые части, алгоритм же не ImageSpace, так на процессоре надо высчитывать все, математика там.

#9
22:21, 25 сен 2011

Drazd
> А как этот буфер делать то?

Маллоком. А выводить через мемкопи на адрес A000:0000.
Да, режим желательно 320х200 и 256 цветов, у него самый простой вид видеопамяти. Остальные с геморроем со сменой битовых плоскостей либо с чересстрочной развёрткой.

Drazd
> А как этим решается проблема удаления невидимых граней о_О?

Это был ответ на вопрос "как делать буфер".

#10
22:31, 25 сен 2011

Невидимое проще всего отсечь Z-буфером. Или нельзя по условию?

#11
22:35, 25 сен 2011

Drazd

шаг 1)  узнай как рисовать в DOS-е линии.
шаг 2)  реализуй не сложный алгоритм.

какие могут быть проблемы я не пойму

#12
22:40, 25 сен 2011

Mikle
Я сам думаю про z-буффер, но почему-то преподша упоминала именно алгоритм Роберста, хоть и были другие варианты с z-буффером.

#13
23:42, 25 сен 2011

Ну прочитай про алгоритм и реализуй, блин.
Всякие вопросы типа "как инициализировать графику, как провести линию из х1у1 в х2у2" - это в инструкцию.

#14
1:57, 26 сен 2011

Drazd
У тебя есть кусок памяти что отображается на экран. Всё, что ещё надо?

Страницы: 1 2 3 Следующая »
ФлеймФорумПрограммирование

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