|
Вывод 16 бит на пиксел как сделать ? |
|
|
|
Aug 6 2017, 09:26
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
практически на С: glfwWindowHint(): GLFW_RED_BITS, GLFW_GREEN_BITS, GLFW_BLUE_BITS или GLFWvidmode в полноэкранном режиме так как у операционной системы тоже может быть своё мнение по поводу глубины цвета окон. ну и WGL_ARB_pixel_format а картинки - верхняя просто 16х16=256 серых квадратов. чтобы увидеть границы между соседями приходится под разными углами на монитор смотреть (бюджетная версия изменения динамического диапазона lcd монитора  ), да и то все не видно. можно попробовать для начала разные графические редакторы которые больше 8ми бит на цвет поддерживают. но вот отображают ли они их на самом деле хз. hdmi до каких-то недавних версий вроде имел 3 канала и 8b/10b и пиксельклок в 10 раз меньше, то есть даже в этом месте оно гвоздями к 8ми битам на цвет приколочено было. хотя сейчас наверное маркетологи помимо разрешений в 4К, 60fps и до цвета добраться уже должны были.
|
|
|
|
|
Aug 6 2017, 13:00
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
контурные линии добавте, может поможет. ну а не видя картинки сложно что-то советовать. Цитата У меня верхняя картина отлично все видно и монитор бюджетнее некуда. Вы ведь понимаете что там не 16 горизонтальных полос надо увидеть, а вертикальных. Различие между двумя соседними квадратами по горизонтали. Именно они на 1/256 по яркости отличаются, и увидеть и в тёмной и в светлой части картинки. Ну правда у меня ещё десятый виндовс что-то с настройками яркости монитора нехорошее сделал.
|
|
|
|
|
Aug 6 2017, 21:10
|
Местный
  
Группа: Участник
Сообщений: 364
Регистрация: 25-09-08
Пользователь №: 40 483

|
Цитата(jcxz @ Aug 6 2017, 20:36)  Откройте справочник по WinAPI, в нём поиск по BitBlt (и др.функции этого семейства), а также - функции рисования. Создёте плоскость в памяти, рисуете на ней, а потом при помощи BitBlt или PatBlt, ... копируете картинку в экранную плоскость. Каким образом тут 10 бит на пиксель ? Цитата(_pv @ Aug 6 2017, 19:00)  raw бы 10ти битный, чтобы понять разницу. Пардон ) raw нет в природе тк данные сразу пишутся в gBitmap->PixelFormat=pf24bit; и сохраняются в bmp тк пока на пиксель 8 бит то приходиться вводить логарифмическую шкалу, те на "верхах" детализация почти отсутствует ( На картинке почти везде "низы" если появиться хорошо отражающий объект то теряется структура. Короче, я так понял придется создавать свой gBitmap с двумя байтами на монохромный пиксель и выводить своей же программой которая сможет его причитать.
Сообщение отредактировал whale_nik - Aug 6 2017, 21:10
|
|
|
|
|
Aug 7 2017, 07:43
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(whale_nik @ Aug 7 2017, 00:10)  Каким образом тут 10 бит на пиксель ? Там можно и больше бит получить, не только 10. В цвете конечно. Цитата(_pv @ Aug 6 2017, 02:54)  во-первых обычные мониторы даже 8 бит нормально-то не отображают, а во-вторых далеко не каждый увидит разницу яркости в 0.5%, а уж тем более в градациях жёлтого цвета. А нужны ли эти 10 бит на экране? Зачем реально нужно отображать одновременно и самые яркие и самые тёмные участки? Т.е. - если на картинке есть яркие участки (как я понимаю - эхо от ближайших объектов), и при этом есть тёмные участки (от дальних объектов) - так ли реально нужно их отображать вместе? У автора же интерактивное отображение, а не картинка сохраняемая в файл. Сделать скажем отображение только 64 уровня яркости (или 32 - сколько удобно). Младшие биты отбросить - эти участки будут отображаться чёрным. Если пользователь хочет заглянуть вглубь этих чёрных участков - он жмёт кнопку "приблизить" - старшие биты яркости постепенно отбрасываются (яркие участки соответствующие им маскируются на экране каким-то специальным шаблоном/цветом), но проступают, становятся ярче тёмные участки - глубинные слои. Как то так.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|