Модераторы: volvo877, Snowy, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с Графикой, Как работать с драйвером видеокарты 
:(
    Опции темы
nighthare
Дата 20.2.2006, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 24.12.2005

Репутация: нет
Всего: нет



Ozzя, т.е. мы отрисовываем в setactivepage, после этого вставляем эту процедуру, потом setvisualpage? если не сложно, можешь прокоментировать в коде каждую строчку после Asm и до End; .
Added @ 15:12
Ozzя Он не моргает!!!!! просто супер!!!!!!!! большое спасибо!!! только обьясни пожалуйста что делают эти ассемблерные команды и как они работают....

Это сообщение отредактировал(а) nighthare - 20.2.2006, 15:14
PM MAIL   Вверх
Romikgy
Дата 20.2.2006, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



nighthare, а какой ф-цией ты рисуешь точки?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
nighthare
Дата 20.2.2006, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 24.12.2005

Репутация: нет
Всего: нет



Romikgy, putpixel...
Код

procedure T3d.draw(n:byte);
  var
   i,midx,midy:integer;
  begin
   setactivepage(0);
   cleardevice;
   midx:=round(getmaxx/2);
   midy:=round(getmaxy/2);
   for i:=1 to amount do
   begin
    putpixel(round(dp_dyn^[i].x)+midx,round(dp_dyn^[i].y)+midy,white);
   end;
   WaitRetrace;
   setvisualpage(0);
  end;

PM MAIL   Вверх
Romikgy
Дата 20.2.2006, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



nighthare, сиба
smile

Это сообщение отредактировал(а) Romikgy - 20.2.2006, 15:36


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Ozzя
Дата 20.2.2006, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.7.2004

Репутация: нет
Всего: 1



nighthare,

Код

Procedure WaitRetrace;  {ожидание вертикального обратного хода луча} 
Begin 
   While(Port[$3DA]and $08)=0 do; 
End; 


Дополнительно читать тут
http://emanual.ru/download/7045.html
PM MAIL   Вверх
Romikgy
Дата 20.2.2006, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



nighthare, а не проще ли будет взять адресс буфера видеостраницы и копировать массивами туда, а не
Цитата(nighthare @ 20.2.2006, 14:27 Найти цитируемый пост)
putpixel

?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
nighthare
Дата 20.2.2006, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 24.12.2005

Репутация: нет
Всего: нет



Romikgy, думаю проще, а как найти этот адрес, и как его взять в Pascal'e ? smile

Это сообщение отредактировал(а) nighthare - 20.2.2006, 16:24
PM MAIL   Вверх
Ozzя
Дата 20.2.2006, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.7.2004

Репутация: нет
Всего: 1



A000 - Для граф. режима ega/vva
Добавлено @ 17:00
Move( $a000,$a800,$800); - копирование
Как-то так.
1-я страница лежит по адресу $a000, вторая - начинается с $a800.
Фишка в том, что в режиме 640X350 копируются сразу все 4 плоскости (latches). Надо установить регистр контроллера. Какой - не помню.
Почитай Фроловых по ссылке. Там есть пример копирования.

Это сообщение отредактировал(а) Ozzя - 20.2.2006, 17:18
PM MAIL   Вверх
Romikgy
Дата 20.2.2006, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



обращение к памяти в паскале , на сколько помнится mem[seg:off]


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
nighthare
Дата 20.2.2006, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 24.12.2005

Репутация: нет
Всего: нет



Ozzя, а там едет так? я записываю точку с координатами 0,0 , увеличиваю адрес, записываю 0,1 ... 0,640 -> 1,0 и так далее? и как туда писать цвет точки( т.е. там усроено что либо true либо false, или либо false либо номер цвета? ) или можно как-то создать огромный массив и потом его целиком пихать в этот буфер?? smile

Added @ 17:09 буду читать и разбираться...

Это сообщение отредактировал(а) nighthare - 20.2.2006, 17:08
PM MAIL   Вверх
Romikgy
Дата 20.2.2006, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



это масссив точек заданый цветом каждой точки


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Ozzя
Дата 20.2.2006, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.7.2004

Репутация: нет
Всего: 1



Нет, режим 640Х350 сложнее.
Цитата

Режим 10h
Графический цветной режим с разрешением 640х350 пикселов. Данный режим поддерживают только видеоадаптеры EGA и VGA.

Для хранения видеоданных используются четыре цветовых слоя. Каждому пикселу соответствует по одному биту из каждого цветового слоя. Четыре бита на пиксел позволяют отображать 16 различных цветов. Запись в каждый из этих черырех слоев можно разрешить или запретить при помощи регистра разрешения записи цветового слоя.


Цитата

Рисунок 6.12 Структура видеопамяти режима 10h.

Если вы хотите выводить информацию на экран дисплея непосредственно через видеопамять, то необходимо уметь определять биты, которые управляют каждым пикселом изображения. Следующие формулы позволяют определить смещение байта от начала станицы видеопамяти и номер бита в нем, управляющего пикселом с координатами (x,y):

Смещение байта = 50h*y+x/8

Номер бита = 7-mod(x/8)


Это сообщение отредактировал(а) Ozzя - 20.2.2006, 17:16

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  IMG00017.GIF 5,13 Kb
PM MAIL   Вверх
Romikgy
Дата 20.2.2006, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Ozzя, более точнее ответил smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
nighthare
Дата 20.2.2006, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 24.12.2005

Репутация: нет
Всего: нет



тогда вопрос, этот способ эффективнее чем putpixel? (если не считать что с его помошью наверное можно сделать двойную буферизацию) если да, то действительно будет работать заметно быстрее?
PM MAIL   Вверх
Ozzя
Дата 20.2.2006, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.7.2004

Репутация: нет
Всего: 1



В принципе, bgi-графика достаточно быстра, за исключением заливки.
Никто не мешает рисовать во 2-й странице, и затем перебрасывать на 1-ю.
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0514 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.