Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SVGA & SetRGBpalete, вопрос о формировании цвета, И снова графика ДОСА 
:(
    Опции темы
yOhoOo
  Дата 19.11.2007, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Итак кул прогеры, обращаюсь к ващей мудрости, дабы отыскать совет.

Хотел реализовать хорошую графическую оболочку под ДОС для своей программы (Вычилительные методы, погрешности, распределения, теория вероятности и все такое, довольно обьемная фигня), перечитал разные статьи, и чем больше читал тем больше вопросов. 

 smile 

(!) Я использую компилятор Borland C++ v3.1(Таковы условия задания)

1) Пытался использовать, библиотеки SVGA***.bgi (т.е SVGA256-SVGA24bit), для реализации 
1024*768*(тот же диапазон), но в итоге получил только лишь мигающую лампочку на мониторе(ну не работает моя видеокарта в этих режимах). Зато отлично себя чувствует во всех вышеописанных но в разрешении 640*480. Пы тался использовать как альтернативу VESA, но тут все тоже самое. По сути ведь готовые библиотечки описывают те же самые действия? Подскажите пожалуйста можно ли тут что нибудь сделать вообще или только и остается довольствоватся 640*480?

Примечание: Думал может библиотечки кривые - сходил потестил в универ(в комп. классе), машины не очень новые и видяхи держали все разрешения абсолютно во всех режимах. Компилятор тот же.

2) Теперь вопрос о формировании цвета. При инициализации какого - либо графического режима допустим 256 цветов. Каким образом там формируется палитра? Т.е. при выводе по очереди каждого цвета от 0 до 255 имеем вначале какие-то случайные цвета, затем градиент серого цвета, затем чередование: синий, фиолетовый , красный, желтый зеленый... и снова чередование того-же но в других оттенках. Почему именно так? Почему не обьединяют Градиентами: вначале красный например всех оттенков потом зел и т.д.? Как будет выглядеть палитра если я инициализирую наприммер 65000(с чем то там) цветов? Будет ли она расположенна в другом порядке? 

Теперь например я например хоче переделать палитру, под нужную мне(возмем 256цветов) 
И функцией SetRGBpalette(i,r,g,b) в цикле начнем ее перересовывать.
Итак, в каких диапазонах могут быть коэфициэнты R, G, B? Как диапазоны связанны с максимальным количеством цветов? Как задается количество серого(яркость) ? 

 smile 

И последнее: Макс кол-во цветов - это количество которое одновременно хранится видеокартой?
Ведь даже в 16 цветном режиме я могу переопределить палитру в 16 красивых оттенков(по сравнению со стандартной палитрой)


-------------------------------------------------------------------------------------------

Я понимаю что вопросов много и они достаточно обьемные, хотелось бы конечно чтобы на все из них был дан ответ, ибо нечто не воспринимается так легко как доступный человеческий язык, а не сухая литература написанная научным языком. 
Короче если лень писать кинте ссылочки по вопросам, буду рад любой информации, заранее благодарен....)))
PM MAIL   Вверх
MAKCim
Дата 19.11.2007, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



yOhoOo, 
вы ошиблись разделом, это явно не общие вопросы по С++



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
mes
Дата 21.11.2007, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


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

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



Цитата(yOhoOo @  19.11.2007,  23:15 Найти цитируемый пост)
1) Пытался использовать, библиотеки SVGA***.bgi (т.е SVGA256-SVGA24bit),

есть еше режим 800х600

Цитата(yOhoOo @  19.11.2007,  23:15 Найти цитируемый пост)
Т.е. при выводе по очереди каждого цвета от 0 до 255 имеем вначале какие-то случайные цвета, затем градиент серого цвета, затем чередование: синий, фиолетовый , красный, желтый зеленый... и снова чередование того-же но в других оттенках. Почему именно так? Почему не обьединяют Градиентами: вначале красный например всех оттенков потом зел и т.д.? 

Первые шестнадцать  перешли по наследству от EGA, остальные ммм..так придумали smile

Цитата(yOhoOo @  19.11.2007,  23:15 Найти цитируемый пост)
Как будет выглядеть палитра если я инициализирую наприммер 65000(с чем то там) цветов? Будет ли она расположенна в другом порядке? 

при 16битном режиме  значение цвета рассматривается не как индекс в палитре, а как градиент. То есть палитры не будет.. 
а значение разбивается по несколько (5,6) бит на цвет. Но это в видеопамяти.. а задавать значение нужно в зависимости от того каким образом.. если через "посредника"(библиотеку) - то надо смотреть его спецификацию

Цитата(yOhoOo @  19.11.2007,  23:15 Найти цитируемый пост)
Итак, в каких диапазонах могут быть коэфициэнты R, G, B? Как диапазоны связанны с максимальным количеством цветов? Как задается количество серого(яркость) ? 

в зависимости какую библиотеку исполэуешь .. В некоторых дробь от 1 .. в некоторых от 0 до 255 в других в платформозависимой форме

Цитата(yOhoOo @  19.11.2007,  23:15 Найти цитируемый пост)
И последнее: Макс кол-во цветов - это количество которое одновременно хранится видеокартой?
 это сколько градаций цветов может  быть отображено на одном кадре в памяти карты.. 
например если у карты всего мег памяти то при разрешении 800х600 может показать 65536 цветов (800*600*2 [16bit] =960 000 < 1000 000)  ,
 а при режиме 1024х768 больше 256 цветов не возможно отобразить (1024*768*2 [16bit] =1 572 864 > 1000 000)  
Tо есть зависит не только от возможности карты воспроизвести цвет, но и от возможности сохранить кадр в таком режиме.




--------------------
PM MAIL WWW   Вверх
yOhoOo
Дата 21.11.2007, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо за то что хоть кто-то ответил)

Итак:
Цитата

Есть еше режим 800х600


Блин естественно я его пробывал инициализировать, я имел в виду что моя видяха не держит более чем 640*480 странно это(у меня Жи Форс Ти 4200)
 т.е. 128 мегабайт которые ну просто обязаны вместить все эти режимы.

Я думаю это связанно с урезанной поддержкой VESA стандартов, как тупиковой ветви эволюции))

Цитата

Первые шестнадцать  перешли по наследству от EGA, остальные ммм..так придумали 


Блин по наследству от EGA! Вот я тупень, как не доперло то сразу...) 
Ну а остальные - должна быть какая - то формула...

Цитата

Но это в видеопамяти.. а задавать значение нужно в зависимости от того каким образом.. если через "посредника"(библиотеку) - то надо смотреть его спецификацию


Хорошо, а если напрямую через регистры? И если через регистры, то будут ли работать стандартные графические функции?


ЗЫ: Остальное усвоил,большое спасибо)

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


любитель
****


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

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



Цитата(yOhoOo @  21.11.2007,  16:06 Найти цитируемый пост)
Блин естественно я его пробывал инициализировать, я имел в виду что моя видяха не держит более чем 640*480 странно это(у меня Жи Форс Ти 4200) т.е. 128 мегабайт которые ну просто обязаны вместить все эти режимы.

А виндоуз у тебя загружается ? Она позволяет ставить другие разрешения ? если да, то проблема с драйверами.


Цитата(yOhoOo @  21.11.2007,  16:06 Найти цитируемый пост)
Хорошо, а если напрямую через регистры? И если через регистры, то будут ли работать стандартные графические функции?


Для написания  оболочки, тебе нужна будет графическая библиотека. Или ты собрался писать свою?


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


Новичок



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

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



Цитата

А виндоуз у тебя загружается ? Она позволяет ставить другие разрешения ? если да, то проблема с драйверами.


Виндоз канечно держит большие разрешения.

Цитата

Для написания  оболочки, тебе нужна будет графическая библиотека. Или ты собрался писать свою?


Ну если работать напрямую с регистрами при помощи асм кода, и не загружать стандартные или нестандартные bgi драйвера, то функции graphics.h - бысполезны? Т. е. не станут работать, следовательно придется похоже писать свои...  Я уже прочел массу статей, где критикуют стандартные ф-ии и похоже склоняюсь к этому...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

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


 




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


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

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