Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];

Вниз

Потестите эмулятор виртуальных десктопов   Найти похожие ветки 

 
homm ©   (2007-12-11 21:44) [40]

> [38] @!!ex ©   (11.12.07 21:41)
> Мне все равно нужна картинка в битмапе, чтобы превью рисовать.

Здрасти. Зачем тебе картинка в ОП, что-бы вывести превью на окошко?


 
@!!ex ©   (2007-12-11 21:47) [41]

> [40] homm ©   (11.12.07 21:44)

Там же Канвас без OGL. Как мне иначе выводить туда превью?


 
homm ©   (2007-12-11 21:51) [42]

> [41] @!!ex ©   (11.12.07 21:47)

Я не знаю как в ОГЛ, но знаю, что у каждой DD поверхности можно запросить DC, валидный для любых растровых операций.


 
homm ©   (2007-12-11 21:53) [43]

Почему, кстати 4 десктопа? Всем известно, что у куда 6 граней :)


 
@!!ex ©   (2007-12-11 21:59) [44]


> Я не знаю как в ОГЛ, но знаю, что у каждой DD поверхности
> можно запросить DC, валидный для любых растровых операций.

И что это даст?

> [43] homm ©   (11.12.07 21:53)

4 проще всего.


 
homm ©   (2007-12-11 22:01) [45]

> [44] @!!ex ©   (11.12.07 21:59)
> И что это даст?

Как это? А StretchBlt?


 
@!!ex ©   (2007-12-11 22:01) [46]

> [45] homm ©   (11.12.07 22:01)

Что и куда рисовать предлагаешь?


 
antonn ©   (2007-12-11 22:10) [47]

чет я не уловил - а зачем там вообще шейдеры? во времена Half-life с древними картами как то же без них обходились, а тут вывести кубик...


 
homm ©   (2007-12-11 22:15) [48]

> [46] @!!ex ©   (11.12.07 22:01)

Ну блин, в чем проблема? Вывисти скриншот стола на битмап?

var
 BMP: TBitmap;
 DC: HDC;
begin
 Image1.Picture.Bitmap := TBitmap.Create;
 BMP :=   Image1.Picture.Bitmap;
 BMP.Width := Image1.Width;
 BMP.Height := Image1.Height;
 SetStretchBltMode(Image1.Canvas.Handle, HALFTONE);
 DC := GetDC(0);
 StretchBlt(Image1.Canvas.Handle, 0, 0, Image1.Width, Image1.Height, DC, 0, 0, Screen.Width, Screen.Height, SRCCOPY);
 ReleaseDC(0, DC);


Правда работает оно так, что быстрее ОГЛ контекст создать.


 
@!!ex ©   (2007-12-11 22:48) [49]


> [47] antonn ©   (11.12.07 22:10)

И без шейдеров все работает.
Вопрос в цвете. Цвет будет BGR. Это тоже поправимо, за счет CPU. Не вижу причин отказываться от шейдеров. Тем более что они позволяют визуализировать что угодно без лазания в код, да еще к томуже снимают нагрузку с CPU.

> [48] homm ©   (11.12.07 22:15)

Ну у меня так и делается. Я тебя не пойму вообще.
У меня берется скриншот и кладется в BitmAp. Который в последствии выводится в окне Preview.


 
Skyle ©   (2007-12-12 08:40) [50]

У меня всё ограничилось вращением одного монитора как-то..
Два монитора в дуале, вращается только Primary.


 
Skyle ©   (2007-12-12 08:42) [51]

И ещё после выключения как-то произвольным образом изменился порядок кнопок в таскбаре.


 
@!!ex ©   (2007-12-12 09:05) [52]

> [50] Skyle ©   (12.12.07 08:40)

Да. Это известно. У меня также. А как реализовать вращение двух моников? Не проста эта.


> [51] Skyle ©   (12.12.07 08:42)
> произвольным образом изменился порядок кнопок в таскбаре.

Тоже известная проблема, и не решабельная к томуже.
С другой стороны, не очень критичная, т.к. подразумевается, что прога запущена все время.


 
Рамиль ©   (2007-12-12 13:04) [53]

Что то на висте куб какой то некубистый.


 
Рамиль ©   (2007-12-12 13:05) [54]

Сорри, нормальный)
Но иконки в трее нет вообще, только наугад.
А так вроде даже не вылетает.


 
@!!ex ©   (2007-12-12 13:11) [55]

> Но иконки в трее нет вообще, только наугад.

Она есть, но пустая.


> А так вроде даже не вылетает.

А должно?


 
Sapersky   (2007-12-12 14:37) [56]

У меня берется скриншот и кладется в BitmAp. Который в последствии выводится в окне Preview.

И всё-таки почему нельзя рисовать превью через OpenGL? Насчёт контекстов я не в курсе, но наверняка ведь можно как-то извернуться.
Впрочем, это имеет смысл только если есть функция произвольного копирования фрагментов видеопамяти.

Вопрос в цвете. Цвет будет BGR. Это тоже поправимо, за счет CPU. Не вижу причин отказываться от шейдеров.

В качестве возможной альтернативы, в списке расширений интегрированной и Radeon 9000 Pro (который тоже поддерживает шейдеры только 1.x) обнаружил некое GL_EXT_BGRA.
http://www.opengl.org/registry/specs/EXT/bgra.txt
Хотя, судя по фразе "EXT_bgra extends the list of host-memory color formats" это не новый формат текстуры (host-memory - системная память), а просто команда драйверу развернуть компоненты при пересылке, скорее всего софтверно.
Что касается шейдеров, вряд ли OpenGL совсем не умеет работать с 1.x - как тогда Кармак писал движок Doom3 (изначально он был рассчитан на GeForce3, т.е. на 1-е шейдеры)?


 
@!!ex ©   (2007-12-12 14:50) [57]

> И всё-таки почему нельзя рисовать превью через OpenGL? Насчёт
> контекстов я не в курсе, но наверняка ведь можно как-то
> извернуться.
> Впрочем, это имеет смысл только если есть функция произвольного
> копирования фрагментов видеопамяти.

Превьюшку не хочется рисовать через OPenGL. Чтобы она могла работать без использзования видеокарты вообще.


> В качестве возможной альтернативы, в списке расширений интегрированной
> и Radeon 9000 Pro (который тоже поддерживает шейдеры только
> 1.x) обнаружил некое GL_EXT_BGRA.
> http://www.opengl.org/registry/specs/EXT/bgra.txt
> Хотя, судя по фразе "EXT_bgra extends the list of host-memory
> color formats" это не новый формат текстуры (host-memory
> - системная память), а просто команда драйверу развернуть
> компоненты при пересылке, скорее всего софтверно.

Пасиб! Буду копать!


> Что касается шейдеров, вряд ли OpenGL совсем не умеет работать
> с 1.x - как тогда Кармак писал движок Doom3 (изначально
> он был рассчитан на GeForce3, т.е. на 1-е шейдеры)?

Нет нет, не шейдеры, а GLSL.
Можно зафигарить шейдеры на asm"e, и тогда все должно работать.
ВОпрос только в том, что я совсем не умею с такими шейдерами работать.

Кстати, свежу версию запускал?


 
homm ©   (2007-12-12 14:59) [58]

> [57] @!!ex ©   (12.12.07 14:50)
> Чтобы она могла работать без использзования видеокарты вообще.

Ну это фантастика ;)


 
@!!ex ©   (2007-12-12 15:06) [59]

> [58] homm ©   (12.12.07 14:59)

Ну неправильно выразилс, бывает... :)
Но смысл то понятен. :)


 
Anatoly Podgoretsky ©   (2007-12-12 15:33) [60]

> @!!ex  (12.12.2007 15:06:59)  [59]

Просто поторопился.


 
Sapersky   (2007-12-12 16:00) [61]

Можно зафигарить шейдеры на asm"e, и тогда все должно работать.
ВОпрос только в том, что я совсем не умею с такими шейдерами работать.


Примерно так (проверял с микрософтовским компилятором, т.е. на D3D):
ps.1.4 // версия шейдеров
texld r0, t0 // берём цвет из текстуры 0 в регистр r0 (результат)
mov r1, r0  // копируем в r1 (временный регистр)
mov r0.r, r0.b // меняем каналы
mov r0.b, r1.r

Кстати, свежу версию запускал?

Ещё нет, были проблемы со скачиванием. Может, выкладывать исходники отдельным архивом - всё меньше качать.


 
@!!ex ©   (2007-12-12 22:03) [62]

> Примерно так (проверял с микрософтовским компилятором, т.е.
> на D3D):
> ps.1.4 // версия шейдеров
> texld r0, t0 // берём цвет из текстуры 0 в регистр r0 (результат)
>
> mov r1, r0  // копируем в r1 (временный регистр)
> mov r0.r, r0.b // меняем каналы
> mov r0.b, r1.r

нет нет, шейдер на асме я напишу. Я не знаю как с ним работать в плане API.
Как инициализировать и использовать.


 
@!!ex ©   (2007-12-14 11:47) [63]

> обнаружил некое GL_EXT_BGRA.

Отличная вещь, работает даже на GeForce 2 MX. )

И вообще, прога запустилась на p266 + GeForce 2 MX.
Правда слайдшоу. :)


 
homm ©   (2007-12-14 12:01) [64]

> [63] @!!ex ©   (14.12.07 11:47)
> И вообще, прога запустилась на p266 + GeForce 2 MX.
> Правда слайдшоу. :)

А ведь, если подумать, вполне рабочая машинка, для третьего квека, скажем.


 
Anatoly Podgoretsky ©   (2007-12-14 12:05) [65]

> homm  (14.12.2007 12:01:04)  [64]

А в третьем веке были компьютеры?


 
KSergey ©   (2007-12-14 12:07) [66]

> homm ©   (14.12.07 12:01) [64]
> А ведь, если подумать, вполне рабочая машинка, для третьего
> квека, скажем.

Однако - судя по следующим квекам и т.п. - акциями Интела они таки тоже разжились :)


 
Anatoly Podgoretsky ©   (2007-12-14 12:14) [67]

> KSergey  (14.12.2007 12:07:06)  [66]

Так это НЛП


 
antonn ©   (2007-12-14 13:29) [68]


> А в третьем веке были компьютеры?

он про quake :)


 
@!!ex ©   (2007-12-14 14:06) [69]

> [64] homm ©   (14.12.07 12:01)

Ога. Квейк там работал с разрешением 1280/1024, и с 4 такого же размера текстурами? :)


 
@!!ex ©   (2007-12-14 14:06) [70]

Вот, практически релиз. Добавлю только регистрацию и About и все.
Потестите плиз. А я пойду тестить на маленьких разрешения на П266.
http://ifolder.ru/4556763


 
@!!ex ©   (2007-12-14 14:25) [71]

В принципе на низких разрешениях, и если Empty.bmp сделать мелким(сейчас он 800х600, это тоже самое, что текстура 1024х1024) то все равно слайд шоу, но хотя бы время отклика не очень большое, примерно секунда.
Ну а просто переключение через Preview Window и на П266 работает без вопросов.


 
@!!ex ©   (2007-12-14 14:31) [72]

Забыл выложить список изменений:
V0.9
Исправлено вращение куба.
Исправлена синхронизация вращения.
Добавлено обновление текущего десктопа по таймеру.
Добавлена возможность выбора типа рендера(стандартный, BGR, шейдер).
Добавлена возможность настройки окна Preview.
Оптимизирована скорость работы куба.
Добавлена возможность отключения рендера незначащих сторон куба.(для увеличения скорости работы).


 
Virgo_Style ©   (2007-12-14 15:38) [73]

@!!ex ©   (14.12.07 14:31) [72]

А куб все еще вращается как угодно? Я к тому, что на его торцы смотреть вроде как ни к чему. Хотя при желании можно на них "повесить" вызов пользовательских программ, например.


 
@!!ex ©   (2007-12-14 15:43) [74]

> [73] Virgo_Style ©   (14.12.07 15:38)

На торцах всякую инфу сейчас засунул.
В опциях можно отключить рендер торцов. Less faces галочку поставить.


 
Eraser ©   (2007-12-14 15:52) [75]


> Может кто знает нормальные спосмобы отрисовать большое изображение(размером
> с экран) в уменьшенном виде, чтобы оно смотрелось не так
> ужасно...

   SetStretchBltMode(bmp.Canvas.Handle, HALFTONE);
   // The docs say that you should call SetBrushOrgEx after SetStretchBltMode,
   // but not what the arguments should be.
   SetBrushOrgEx(bmp.Canvas.Handle, 0,0, nil);
   StretchBlt(bmp.Canvas.Handle,


 
@!!ex ©   (2007-12-14 15:56) [76]

> [75] Eraser ©   (14.12.07 15:52)

Эм. уже поздно, и давно поздно. :)


 
Gydvin ©   (2007-12-14 16:09) [77]

Окошко предвиема убираться нехочет


 
@!!ex ©   (2007-12-14 16:37) [78]

> [77] Gydvin ©   (14.12.07 16:09)

прозрачность выставлена окошку и сворачиваешь на кнопочку на окошке...
винда почему то не обрабатывает клики по прозрачному окошку, вернее обрабатывает но както черезх раз.
Почти сразу исправил как поймал, теперь окошко перестает быть прозрачным при наведениии мышки.
попозже выложу, когда исправлений нормально наберется.


 
Kolan ©   (2007-12-14 18:35) [79]

Так и не понял как пользоваться :(. Какое-то окошко сверху — че сним делать хз.

@!!ex  у трей иконки по праваму клику меню должно выподать обязательно.


 
@!!ex ©   (2007-12-14 18:38) [80]

> Так и не понял как пользоваться :(. Какое-то окошко сверху
> — че сним делать хз.

Десктопы переключать? :))


> @!!ex  у трей иконки по праваму клику меню должно выподать
> обязательно.

Ок.



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.61 MB
Время: 0.05 c
15-1197375887
Darrin
2007-12-11 15:24
2008.01.20
Не загружаются bpl под 64-битной виндой


15-1197651799
Ekzot
2007-12-14 20:03
2008.01.20
Вопрос по лицензии Turbo Delphi.


2-1198361464
Embargo
2007-12-23 01:11
2008.01.20
Без ошибки


2-1198046858
vegarulez
2007-12-19 09:47
2008.01.20
Проблема с установкой indy 10 на D6.


15-1197830729
Lip
2007-12-16 21:45
2008.01.20
Ряд Тэйлора





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский