imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 14.03.2004, 14:32     # 1
minskboy
Guest
 
Сообщения: n/a

Question Проблема....... Двойная буферизация...

Привет!

У меня есть в тебе вопрос.

Передо мной стоит задача:

Написать программу(c++, win32 API), отображающую анимацию. Начало
движения: левый нижний угол окна. Конец - правый верхний угол окна. Объект
движения - круг, который уменьшается в размере, сменяя цвета. Использовать
метод двойной буферизации.

Ничего толкового не нашел? Как решить задачу?

Еще нужно разобраться с такими вопросами, как класс Bitmap, cоздание,
заполнение, вывод битовой карты


Сергей-Минск
 
Старый 14.03.2004, 16:45     # 2
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Пользуй OpenGL там уже все встроено. API не предназначен для графики как таковой и катит только для самой простой "офисной" графики, ну там всякие диаграммки и др. А анимация без двойной буферизации будет очень сильно мерцать, т.к. стандартный API ее изначально не поддерживает. Самый простой выход чтобы не парится и самому не изобретать велосипед, я имею в виду двойную буферизацию - использования встроенного во все окна движка OpenGL. Что быстро и просто.

могу кинуть мануал, правда для дельфи, но зато там очень понятно все написано.
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах

Последний раз редактировалось /7y3uK; 14.03.2004 в 16:47.
/7y3uK вне форума  
Старый 14.03.2004, 17:51     # 3
minskboy
Guest
 
Сообщения: n/a

кинь мануал.., плиззз

minskboy@tut.by

мне во вторник сдавать лабу надо
 
Старый 15.03.2004, 03:55     # 4
t_G_M_
Guest
 
Сообщения: n/a

/7y3uK

Сбрось и мне, если не сложно:
t_G_M_@ukr.net
 
Старый 15.03.2004, 20:30     # 5
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Вводную читайте на _ttp://vr-online.ru/books/bib.htm в разделе библия Delphi есть в электронном варианте, целая глава как раз про OpenGL и API графику - автор Фленов М.
Пока не знаю куда залить целиковую книгу с экземплами.
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 16.03.2004, 03:04     # 6
SapeR
::VIP::
 
Регистрация: 17.12.2002
Адрес: Q-ata, Israel
Сообщения: 310

SapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царствеSapeR Луч света в тёмном царстве
по сабжу: 100 лет не пользовал, если что - ногами не бить

1. движение объекта есть рисование его в различных позициях по таймеру
2. буферизация есть подготовка изображения ДО его показа (заполнили битмэм и ждём вызова на показ)
3. двойная буфф. - заполнение буфера №2 для СЛЕДУЮЩЕГО кадра, пока показывается текущий

всего-то функций - заполни битмэп, приаттачь битмэп и таймер
SapeR вне форума  
Старый 16.03.2004, 16:15     # 7
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Я так тоже пробовал, но увы - мерцает. API графики не предназначены для более серьезных вещей, чем диграммки и пр. Там даже нет дефорлтной очистки битмапа. Двойная буферизация - имхо в наше время, это функциональная взможность девайса, который берет на себя, при определенной крутизне его самого, достаточно большую долю вычислений камня.
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 21.03.2004, 04:47     # 8
Mind
Junior Member
 
Аватар для Mind
 
Регистрация: 05.02.2004
Адрес: Indianapolis
Сообщения: 64

Mind Путь к славе только начался
Mozhno vospolzovatsya DirectX.
Sam delal. Vse dovolno prosto:sozdaesh 2 surfaces i menyaesh ih.
No inogda proishodyat takie oshibki, chto novichku ochen trudno razobratsya.
Vobshem dlya DX nuzhna horoshaya kniga.
Da tok smotrite, chtobi v knige visokoe resolution ressmatrivalos tozhe.
Mind вне форума  
Старый 14.05.2004, 20:56     # 9
Merge
Junior Member
 
Аватар для Merge
 
Регистрация: 08.05.2004
Адрес: Саратов
Сообщения: 131

Merge Путь к славе только начался
создаешь переменную типа битмап чёто вроде
Graphics::TBitmap *bmp;
bmp = new Graphics::TBitmap();
bmp->Height = 500; //задаешь высоту, ширину
bmp->Width = 500;
рисуешь на неё чё тебе надо(надеюсь, умеешь ;Р)
дальше смотря куда ты рисуешь(допустим на форму)
Form1->Canvas->CopyRect(TRect(0,0,500, 500), bmp->Canvas, TRect(0,0,500, 500));
усё, регламент ... т.е. получается что ты сначала в памяти рисуешь а потом на экран уже нарисованное пихаешь
Merge вне форума  
Старый 19.05.2004, 19:07     # 10
edbond
Newbie
 
Регистрация: 05.04.2004
Сообщения: 24

edbond Нуль без палочки
самый правильный вариант - openGL. очень простой АПИ, кроссплатформенность и т.д.
www.opengl.org
__________________
edbond вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 13:39.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.