![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
![]()
Нужно отчертить объект в изометрии БЫСТРО. Код уже есть, выкладываеть сейчас не буду но если нужно, то выложу позже. В общих чертах - обычный шейп, кинутый на форму преломляется в искаженные координаты изометрии и выводится на вторую форму. Получается что то вроде ромба(если шейп квалратный). Если я начинаю for - to - do несколько раз на этот ромб с каждым циклом делая ромб выше на 1 пкс, то получается изометрия с высотой. Для прорисовки использую canvas.lineto, но как показал диспетчер задач - это очень затратно, при десяти шейпах процессор нагружен на 30 процентов. Пробовал полигонами (canvas.ploygon(array of tpoint)), но те мало того, что мерцают, так ещё и прорисовываются криво (очень долгу бьюсь над раскидкой координат - безрезультно). Они ещё и серые, а цвет мне нужно задавать самому. doublebuffered насчет мерцания не помогает. Есть способы отрисовать шейп в изометрии без больших затрат памяти?
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
может стоит присмотрется хотя бы к OpenGL?
там 3D и очень легко вращать все ![]() Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
![]()
OpenGL...
я ето уже слышал. хм. его объявляют просто, как OpenGL? И как с ним вообще обращаться? Это что? набор функций? зы: ССЫЛКИ НА УЧЕБНИКИ ДЛЯ НОВИЧКОВ НЕ ПИХАТЬ!! ![]()
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
|
![]() |
![]() |
![]() |
#4 | ||
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]() ![]() Цитата:
Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
||
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
![]()
тааак... половина ссылок битые...ну ладно, потом досмотрю, мож и есть целые
а вообще да, это то, что нужно
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
![]()
Если не хотите юзать OpenGL, можете попоробовать все ваши рисовалки проводить с битмапом, а после просто копировать в ваш кавнвас.
Изобретатель велосипедов
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
![]()
эх...сказал бы кто нибудь "это же просто - polygon(p1,p2,p3,p4,color)"...
просто opengl юзать пока нет возможности. и ещё: на канву изображение выводить надо 25 раз в секунду! поэтому у мя виснет!
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
![]()
2 saggy - потрать день или два и почитай книгу "OpenGL графика в проектах Delphi" - там очень хорошо все проясняется, начиная с самого простого. Лично я доволен книгой. Думаю от прочтения ее - ты только выиграешь.
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 08.10.2009
Сообщений: 112
|
![]()
после долгого юзанья данной мне ссылки всё таки нашёл одну из десятков ссылку, которая действительно на русском поясняет что и как.
пробую вкуривать =) thanks =) а "OpenGL графика в проектах Delphi" - учту. спасибо.
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
в той теме - "Графическая библиотека OpenGL" >>> ТЫРК
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с рамами/Проблема с ЖД | DRAGGER | Компьютерное железо | 6 | 04.01.2009 23:37 |