Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> многоцветовая графика (256 цветов и более), желательно для 640*480 и выше 
:(
    Опции темы
shara
Дата 29.6.2004, 03:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Привет всем кто это читает.
я достаточно хорошо програмирую на с++, увлекаюсь 3D. но но с 16-тью цветами особо непорисуеш. короче, кто знает как работать с HI COLOR или с VESA или напрямую с видеокартой или ещё с чемнибуть, для того, чобы получить картинку с блоьшым количеством цветов. буду рад любому совету. :)


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
AndreyVN
Дата 29.6.2004, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 25.6.2004
Где: Здесь, в Волгогра де

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



Не понятно, что именно надо.

Если в Win, работу с видеокартой берет на себя OC.

Если в ДОС, управлять картой довольно муторно, за исключением режима 320x200x256. Я генерил изображения (прораммировал трассировку луча) в *.bmp любых форматов (Hi-, true- Color). Отображение картинок будет головной болью вьювера.

Если надо, описание *.bmp могу поискать.

Андрей.
PM   Вверх
Конструктор
Дата 29.6.2004, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 12.5.2004
Где: Москва

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



Для 256 цветного режима необходимо найти библиотечку svga256.bgi. Она поддерживает разрешения от 320х200 до 1024х768. При инициализации графики просто использешь этот драйвер.

Код

d = installuserdriver("svga256",NULL);
m = 2;
initgraph(&d , &m , "");


А вообще вот:
http://forum.vingrad.ru/index.php?showtopic=24270

smile.gif
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 29.6.2004, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

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



а вообще 256 цветов не есть hi-color
и если даже в досе работать то никакого гемороя нет
краткая схема для доса:
1) ставим флат режим (дабы получить доступ к памяти за пределом 1 мега)
2) через int 10h и функ vesa 4F02 ставим нужный нам режим, незабыв включить 14 бит в номере режима (4101h к примеру)
3) после установки режима нада получить vesa информатион блок, в нем со смещением 27h лежит адрес LFB
ну и все
если режим мы выбрали 24 битный то соответствено для установки 1 пиксела будем писать 3 байта RGB


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Конструктор
Дата 29.6.2004, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 12.5.2004
Где: Москва

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



Цитата
1) ставим флат режим (дабы получить доступ к памяти за пределом 1 мега)


В VESA можно и нес ставить flat режим, а получать доступ к памяти с помощью окон по 64 кб. А как после установки flat-режима, т.е. насколько я понял перевода проца в защищенный режим, работать в нём из 16-битной по сути прграммы?

PM MAIL WWW ICQ   Вверх
oleg1973
Дата 29.6.2004, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

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



неставив флат режим до LFB не долезеш
а с окнами это тормозно работать
кстати флат не является защищеным режимом, это реальный режим с 32 адресацией
так что можеш и 32 битные команды использовать smile.gif
типа mov eax,0ffffffffh


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
shara
Дата 29.6.2004, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



народ, проблема в том, что я умею работать с 16-тью цветами при разрешении 640*480, а это маловато будет. мне надобы научится работать с большым количеством цветов при разрешении от 640*480. вот ношёл тут на форуме как bmp-шки рисовать, правда что-то каряво получается но всёравно хоть что-то.

где можно найти библиотеку svga256.bgi?
что такое flat режим и как им пользоваться? adv/jump.gif


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
oleg1973
Дата 29.6.2004, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

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



shara
дак ты под что пишеш? виндос? дос?
в виндосе через директдрав рисуй
в досе напрямую лучше без всяких библиотек


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
shara
Дата 29.6.2004, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



я работаю в основном работаю в dos
но могу и в windowse порисовать директдравом если подскажешь как. лижбы картинка была многоцветовая и с нормальным разрешаловом.
я нашел библиотечку svga256.bgi можно ли поподробнее расказать как её пользоваться?
и от описания bmp файлов тоже не откажусь. biggrin.gif

Это сообщение отредактировал(а) shara - 30.6.2004, 05:39


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
Maxim Sabalyauskas
Дата 1.7.2004, 03:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет всем!

Shara, если тебя интересует прямой доступ к видеопамяти/видеокарте могу выслать кое-какую инфу: про VESA, EGA, VGA, SVGA и всё такое.

Сразу предупреждаю: проги, работающие с VESA (int 10h), под NT пахать не будут - это так, для информации. Так что если хочешь строить крутые графические приложения под Windows берись за DirectDraw и не парься. exclamation.gif

В своё время лучший графический режим, готорого я добился в Dos'е - это "1024x768 256 цветов", но опять-таки через страницы (окна), а вот 32-битного режима не пробовал! smile.gif

PS. А я тоже не откажусь от описания .bmp-файлов!

PM MAIL   Вверх
Конструктор
Дата 1.7.2004, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 12.5.2004
Где: Москва

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



Пользоваться svga256.bgi очень просто.

Код

int d , m;
d = installuserdriver("svga256" , NULL);//Загружаем наш драйвер (вместь обычного egavga.bgi)
// другие режимы
// 0 - 320х240
// 1 - какой-то не стандарнтый, не помню точно может 640х400
// 2 - 640х480
// 3 - 800х600
// 4 - 1024х768
m = 0; //Установим режим

intigraph(&d , &m , "");

//далее используются ф-ции из graphics.h
//svga256.bgi, должна быть там же, где и ехешник.


PM MAIL WWW ICQ   Вверх
shara
Дата 1.7.2004, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



вобщем эта библиотечка svga256.bgi неплохая штука, но она медленно работает. но для некоторых простенькижх програм подойдёт. так-что, наверное, пошёл я учить DirexcDraw и всё такое (я и книгу нашёл). он то и быстрее (НАМНОГО!!! - сам видел), и в ДОСе не надо морочится, ато меня это все порядком достало.
но описалово для VESA если кому не лень всёже пришлите smile.gif.


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
Гость_Andy
Дата 15.7.2004, 22:41 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











ХЭЛПП!!!!!!!!

Пытаюсь загрузить SVGA.BGI
А С меня выкидывает. Пишет:


16-разрядная подсистема MS-DOS
________
Turbo C++ IDE
Процессор NTVDM обнаружил недопустимую инструкцию.
CS:d002 IP:0000 OP:ff 3f ff 1f ff
Для завершения раб. приложения нажмите "Закрыть".

Выкидывает когда пишу
d = installuserdriver("svga256" , NULL);
m=2;
intigraph(&d , &m , "");

Что интересно, при m=0 всё работает.
А в других режимах нет! sad.gif

!!!!!!!!!!!!!!!!!ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!!!!!!!!!!!!!!!!!!!!
  Вверх
dima_mak
Дата 16.7.2004, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист любитель
*


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

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



Цитата(Maxim @ 1.7.2004, 03:48)
Привет всем!

Shara, если тебя интересует прямой доступ к видеопамяти/видеокарте могу выслать кое-какую инфу: про VESA, EGA, VGA, SVGA и всё такое.

Сразу предупреждаю: проги, работающие с VESA (int 10h), под NT пахать не будут - это так, для информации. Так что если хочешь строить крутые графические приложения под Windows берись за DirectDraw и не парься. exclamation.gif

В своё время лучший графический режим, готорого я добился в Dos'е - это "1024x768 256 цветов", но опять-таки через страницы (окна), а вот 32-битного режима не пробовал! smile.gif

PS. А я тоже не откажусь от описания .bmp-файлов!

Вышли пожалуста мне свою инфу на мыло: [email protected]
PM MAIL   Вверх
dima_mak
Дата 16.7.2004, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист любитель
*


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

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



А у меня при попытке инициализации:
Код

int driver,mode,errorcode,xmax,ymax;
driver=installuserdriver("svga256",0);
mode=3;

initgraph(&driver,&mode,"");
/* read result of initialization */
errorcode = graphresult();

if (errorcode != grOk)  /* an error occurred */
{
  printf("Graphics error: %s\n", grapherrormsg(errorcode));
  printf("Press any key to halt:");

}
xmax = getmaxx();
ymax = getmaxy();

outtext((char *)xmax);
line(0,0,799,599);
getch();

ошибок не говорит, но и линию не рисует и лампочка на мониторе начинает мигать(как в спящем режиме)
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




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


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

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