Turbo Pascal

Cris

Member
если делать так то получается что заливка за кубом не успевает двигаться и по этому остается как-бы след, надо сделать эту прогу через копировать и вставить изображение(что-то типа такого)
getmem
getimage
putimage
попробуй тогд аиспользовать несколько экранов, всмысле видиокарты поддерживают использование одновременно виртуальные экраны, один показуеш, на другом уж ерисуеш новой, показуеш новый, стираеш старый и рисуеш на нем дальше....
 

Cris

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

Glu4it

Member
ну во-первых у меня видуха старая радеон х1550 а во-вторых я так не умею(
 

Пух

كنت بلهاء
Модератор
ну во-первых у меня видуха старая радеон х1550 а во-вторых я так не умею(
во первых, в 1990 и мечать не могли про радеон х1550...
во вторых, если я не ошибаюсь, работа с памятью видеокарты у тебя есть в примере, про летающую тарелку...
 

Cris

Member
во первых, в 1990 и мечать не могли про радеон х1550...
во вторых, если я не ошибаюсь, работа с памятью видеокарты у тебя есть в примере, про летающую тарелку...
+1, эта шняга работает на древнейших видиокартах)))

+ у меян тарелка так и неполетела)))) я во фри паскале запускал
 

Пух

كنت بلهاء
Модератор
+1, эта шняга работает на древнейших видиокартах)))

+ у меян тарелка так и неполетела)))) я во фри паскале запускал
у меня то тарелка полетела, только очень странно))

2 Glu4it

SetViewPort(x1, y1, x2, y2: integer, Clip: boolean);
Устанавливает текущее окно для графического вывода
cris писал про это...
без этих переключений между графическими окнами, изображение будет мигать(довольно заметно).
если не ошибаюсь, то будет мигать из-за того, что оперативная память намного быстрей(или наооборот:)) видеопамяти и одна за другой попросту не успевают (точно не помню, теорию читал год назад, та и больше практическое её применение)...

p.s.
 
Останнє редагування:

dreamer

Member
без этих переключений между графическими окнами, изображение будет мигать(довольно заметно).
если не ошибаюсь, то будет мигать из-за того, что оперативная память намного быстрей(или наооборот:)) видеопамяти и одна за другой попросту не успевают (точно не помню, теорию читал год назад, та и больше практическое её применение)...
Все гораздо проще: стирая а потом рисуя наново ты рисуешь два раза, и оба эти раза результат показывается на экране, за счет чего и возникает мерцание.
Если же ты сначала сотрешь и нарисуешь на невидимой поверхности то потом просто отобразишь весь рисунок на экран – и рисование только одно и разница между изображениями невелика (если ты стираешь на видимом изображении то целая область становится сначала цветом фона а потом снова цветом предмета, а если сразу копируешь результат то изменяет цвет только небольная область на границе предмета).
Это называется Double buffering, а вот когда начинается triple buffering то тут уже надо учитывать скорость чтения/записи.
 

Glu4it

Member
а можно как-то на примере, смысл я понял а вот на практике не смогу этого сделать
 

DrapokyR

-\Banned-/
Хелпп..

1. Скласти программу яка б дозволяла знаходити суму чисел кратних 3-м в діапозоні від 1 до N;

2. Cкласти программу яка б дозволяла обчислювати добуток чисел від 1 до N;

3. Cкласти программу яка б дозволяла знаходити всіх чисел в діапозоні вид 1 до N;

Буду благодарен!
 
Зверху