![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
Привет всем кто это читает.
я достаточно хорошо програмирую на с++, увлекаюсь 3D. но но с 16-тью цветами особо непорисуеш. короче, кто знает как работать с HI COLOR или с VESA или напрямую с видеокартой или ещё с чемнибуть, для того, чобы получить картинку с блоьшым количеством цветов. буду рад любому совету. :) -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| AndreyVN |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 25.6.2004 Где: Здесь, в Волгогра де Репутация: нет Всего: нет |
Не понятно, что именно надо.
Если в Win, работу с видеокартой берет на себя OC. Если в ДОС, управлять картой довольно муторно, за исключением режима 320x200x256. Я генерил изображения (прораммировал трассировку луча) в *.bmp любых форматов (Hi-, true- Color). Отображение картинок будет головной болью вьювера. Если надо, описание *.bmp могу поискать. Андрей. |
|||
|
||||
| Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
Для 256 цветного режима необходимо найти библиотечку svga256.bgi. Она поддерживает разрешения от 320х200 до 1024х768. При инициализации графики просто использешь этот драйвер.
А вообще вот: http://forum.vingrad.ru/index.php?showtopic=24270 |
|||
|
||||
| oleg1973 |
|
|||
![]() 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 |
|||
|
||||
| Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
В VESA можно и нес ставить flat режим, а получать доступ к памяти с помощью окон по 64 кб. А как после установки flat-режима, т.е. насколько я понял перевода проца в защищенный режим, работать в нём из 16-битной по сути прграммы? |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 1 Всего: 34 |
неставив флат режим до LFB не долезеш
а с окнами это тормозно работать кстати флат не является защищеным режимом, это реальный режим с 32 адресацией так что можеш и 32 битные команды использовать типа mov eax,0ffffffffh -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
народ, проблема в том, что я умею работать с 16-тью цветами при разрешении 640*480, а это маловато будет. мне надобы научится работать с большым количеством цветов при разрешении от 640*480. вот ношёл тут на форуме как bmp-шки рисовать, правда что-то каряво получается но всёравно хоть что-то.
где можно найти библиотеку svga256.bgi? что такое flat режим и как им пользоваться? -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 1 Всего: 34 |
shara
дак ты под что пишеш? виндос? дос? в виндосе через директдрав рисуй в досе напрямую лучше без всяких библиотек -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
я работаю в основном работаю в dos
но могу и в windowse порисовать директдравом если подскажешь как. лижбы картинка была многоцветовая и с нормальным разрешаловом. я нашел библиотечку svga256.bgi можно ли поподробнее расказать как её пользоваться? и от описания bmp файлов тоже не откажусь. Это сообщение отредактировал(а) shara - 30.6.2004, 05:39 -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| Maxim Sabalyauskas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 1.7.2004 Репутация: нет Всего: нет |
Привет всем!
Shara, если тебя интересует прямой доступ к видеопамяти/видеокарте могу выслать кое-какую инфу: про VESA, EGA, VGA, SVGA и всё такое. Сразу предупреждаю: проги, работающие с VESA (int 10h), под NT пахать не будут - это так, для информации. Так что если хочешь строить крутые графические приложения под Windows берись за DirectDraw и не парься. В своё время лучший графический режим, готорого я добился в Dos'е - это "1024x768 256 цветов", но опять-таки через страницы (окна), а вот 32-битного режима не пробовал! PS. А я тоже не откажусь от описания .bmp-файлов! |
|||
|
||||
| Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
Пользоваться svga256.bgi очень просто.
|
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
вобщем эта библиотечка svga256.bgi неплохая штука, но она медленно работает. но для некоторых простенькижх програм подойдёт. так-что, наверное, пошёл я учить DirexcDraw и всё такое (я и книгу нашёл). он то и быстрее (НАМНОГО!!! - сам видел), и в ДОСе не надо морочится, ато меня это все порядком достало.
но описалово для VESA если кому не лень всёже пришлите -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| Гость_Andy |
|
|||
|
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 всё работает. А в других режимах нет! !!!!!!!!!!!!!!!!!ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!!!!!!!!!!!!!!!!!!!! |
|||
|
||||
| dima_mak |
|
|||
|
Программист любитель ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 25.5.2004 Репутация: нет Всего: нет |
Вышли пожалуста мне свою инфу на мыло: [email protected] |
|||
|
||||
| dima_mak |
|
|||
|
Программист любитель ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 25.5.2004 Репутация: нет Всего: нет |
А у меня при попытке инициализации:
ошибок не говорит, но и линию не рисует и лампочка на мониторе начинает мигать(как в спящем режиме) |
|||
|
||||
| dima_mak |
|
|||
|
Программист любитель ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 25.5.2004 Репутация: нет Всего: нет |
А при модэ=0 при попытке нарисовать линию выдаёт
|
|||
|
||||
| shara |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 29.6.2004 Где: печенье? Репутация: нет Всего: 2 |
dima_mak
лампочка мигает потому-что или библиотека не понимает твою видеокарту или комп не поддерживает такое разришение(покрайней мере заданное таким образом) или ещё что-то в этом роде. вобщем, народ, не партесь. мой вам совет, пишите под Win ато будет такая куча проблем со скоростью работы с графикой и совместимостью програм с другими компами что мне даже представить страшно. если вам надо работать с графикой - то купите себе книгу по DirectX вчастности по DirectDraw и учите её, мне этото вариант больше нравится, хотя кто его знает. и еще одно эта библиотека SVGA256.bgi так медленно работает что её можно нормально использовать только на самом маленьком разрешании. (сам видел) -------------------- с точки зрения аэродинамики шмель не может летать |
|||
|
||||
| Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
Не знаю, у меня на 486 33МГц все нормально работает (в смысле работало) если использовать вместе с MTX библиотечкой. Вполне шустро, только мерцает иногда зараза при перерисовке. |
|||
|
||||
| Graf Zeppelin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 28.3.2004 Репутация: нет Всего: 1 |
У меня тоже выбрасывает сообщение об ошибке
--------------------
Jah, help me! |
|||
|
||||
| Mysterio |
|
|||
|
Unregistered |
Hi all.
Чего-то меня достала эта SVGA256.bgi. С ней куча проблем(типа MODE NOT SUPPORTED ON THIS CARD {хотя вроде и GeForce440, и на другом компе тоже самое пишет {TsengLabsPCI(2M)} и просто не хочет переходить в графику(мигает курсор доса вверху,ошибок не выдаёт,а само типа рисует{//задержка})}); SVGA режим пашет только через прямой доступ к видеопамяти, а от этой .bgi я добился только 320x200 256цв.(это стандартн.VGA режим). Если кому интересно, то вот инициализация через VESA в 640x480x256(было на каком-то сайте)
100H - 640x400x256 101H - 640x480x256 //16 цветов не привожу 103H - 800x600x256 105H - 1024x768x256 107H - 1280x1024x256//дальше текстовые до 10DH - 320x200x32768... и т.д.(можно эксперементировать до 11AH)[quote] Мне хотелось бы иметь 112H(640x480x64k цвет),но мозги уже сворачиваюстя в трубочку.Можть кто подскажет? |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 1 Всего: 34 |
ddraw поможет
-------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| Mysterio |
|
|||
|
Unregistered |
Лично я ненавижу DIRECTы всякие и винDOS в том числе. Я вообще пытаю свою систему.
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
это потому что у тебя либо манитор либо видюха не поддерживает такой режим или не поддерживает такой режим при такой попытке его активировать. у меня на 800*600 тоже лампочка мигает, помняй разрешалово.
и вообще народ, даю вам ХОРОШИЙ совет: не работайте на прямую с видео, это медленно, неудобно и не всегда выходит |
|||
|
||||
| Maxim Sabalyauskas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 1.7.2004 Репутация: нет Всего: нет |
Ненавидите DIRECTы - попробуйте OPENы (в смысле ГээЛы). Вот что! Как насчёт того, чтобы написать свою библиотеку графики? Всем, кто хочет написать (или уже пишет) свои дрова, тулкиты и т.п., давайте дружить по имэйлу - поделимся опытом! |
|||
|
||||
| Mysterio |
|
|||
![]() Планирующий ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 28.12.2004 Репутация: нет Всего: нет |
Ну уж нет,люди. Мне нужен либо DOS либо сразу прерываниями. Насчет мыла идея заманчивая
И еще вопрос. У меня в VESA режиме(любом) получается всего одна страница.Надо хотя-бы 2. Или это делается по-другому? |
|||
|
||||
| Michey |
|
|||
|
Unregistered |
Помогите пожалуйста.
В проге, если открыть забитые строки, то всё перестаёт работать. Цель: мне необходимо выводить одиночные символы графическом режиме DOS, но всё время прога выдаёт весь массив или если это одна переменная, то символ и букву "я". Почему????? Через указатель - весь массив. Через посредника - весь массив. С массива [1] через посредника в массив [10] вываливается массив [10]. // Прога #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <iostream.h> #include <ctype.h> int main() { int graphdriver=DETECT, gmode, errorcode; int c; char str[10]; char ch[1]; char cx; initgraph(&graphdriver, &gmode, ""); errorcode = graphresult(); if(errorcode != grOk) { printf("ЋиЁЎЄ ЁЁжЁ «Ё§ жЁЁ ¤а ©ўҐа %i \n", errorcode=graphresult()); printf("\n? ¦¬Ё Є« ўЁиг!\n"); getch(); exit(1); } outtext ("Insert text: "); for (c=0; c<10; c++) { ch[0]=getch(); // cx=ch[0]; // str[c]=cx; if (*ch==' ' || *ch==27) break; outtext (ch); gotoxy(40,15); printf("%c", *ch); } closegraph(); return 0; } |
|||
|
||||
| Michey |
|
|||
|
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 5 Регистрация: 20.3.2005 Где: Каралия Репутация: нет Всего: нет |
Да, теперь я зарегестрировался
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
спасибо
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |