Рендеринг на Рабочий Стол

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

Хой
Не математик
Не математик
 
Сообщения: 541
Зарегистрирован: 26.08.2002 (Пн) 0:21
Откуда: Россия

Рендеринг на Рабочий Стол

Сообщение Хой » 18.01.2004 (Вс) 15:10

#Include <САБЖ>
Собственно как это сделать (чтобы рендерилось на рабочем столе)
с помощью DirectX (желательно OpenGL)
*censored*

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 18.01.2004 (Вс) 15:54

с помощью DirectX (желательно OpenGL)

Юморист. :lol:
наверное:
с помощью DirectX (желательно Direct3D) ?
Видимо в CreateDevice нужно подставить hWnd рабочего стола ?

Хой
Не математик
Не математик
 
Сообщения: 541
Зарегистрирован: 26.08.2002 (Пн) 0:21
Откуда: Россия

Сообщение Хой » 18.01.2004 (Вс) 16:35

Mikle писал(а):Юморист. :lol:
наверное:
с помощью DirectX (желательно Direct3D) ?
Видимо в CreateDevice нужно подставить hWnd рабочего стола ?

Нет, совсем не юморист!
просто я рулю в OpenGL, а наблюдая за этим форумом, я заметил что все глаголят про DirectX
----
Я ваще-то ждал ответа про OpenGL, но всёже попробую с DirectX'ом...
*censored*

Хой
Не математик
Не математик
 
Сообщения: 541
Зарегистрирован: 26.08.2002 (Пн) 0:21
Откуда: Россия

Сообщение Хой » 18.01.2004 (Вс) 20:06

Кстати с hWnD рабочего стола ничёго не выходит, хоть я крутил и так и сяк!!!!
*censored*

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 18.01.2004 (Вс) 22:59

Хой писал(а):Кстати с hWnD рабочего стола ничёго не выходит, хоть я крутил и так и сяк!!!!
Нельзя рендерить на рабочий стол (во всякомслучае на DX) .... Приблизительно так написано где-то в SDK(может не так, но смысл тот же)... :roll:

Хой
Не математик
Не математик
 
Сообщения: 541
Зарегистрирован: 26.08.2002 (Пн) 0:21
Откуда: Россия

Сообщение Хой » 19.01.2004 (Пн) 0:37

Vovik писал(а):Нельзя рендерить на рабочий стол (во всякомслучае на DX) .... Приблизительно так написано где-то в SDK(может не так, но смысл тот же)... :roll:

Ну то что вообще нельзя на него рендерить, это не правда!
в Winamp 5 есть виз. плагин, каторый рендерит на рабочий стол!!!!
они ведь как-то это сделали....
И ещё я как-то давно видел прогу, каторая проигрывала AVI на рабочем столе!
*censored*

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 19.01.2004 (Пн) 1:03

Хой писал(а):Ну то что вообще нельзя на него рендерить, это не правда!
в Winamp 5 есть виз. плагин, каторый рендерит на рабочий стол!!!!
они ведь как-то это сделали....
И ещё я как-то давно видел прогу, каторая проигрывала AVI на рабочем столе!

А с чего ты взял, что он рендертся на рабочем столе? Может он прикреплён + прозрачность, чего не надо и создаётся просто впечатление.... :roll:

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 19.01.2004 (Пн) 1:31

Ну допустим winamp как вы выражаетесь "умел рендерить на рабочий стол" еще со 2 версии. К тому же там не используется ни OpenGL, ни тем более DirectX. Есть такая функция у wind'ы, overlay на рабочий стол называется. Это как вывод видео, только на десктоп.

Как сделать? MSDN.

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 23.02.2005 (Ср) 23:02

xolod писал(а):Ну допустим winamp как вы выражаетесь "умел рендерить на рабочий стол" еще со 2 версии. К тому же там не используется ни OpenGL, ни тем более DirectX. Есть такая функция у wind'ы, overlay на рабочий стол называется. Это как вывод видео, только на десктоп.

Как сделать? MSDN.


Я знаю ты долго парился над этой проблемой, может ссылочку даш или кодом поделишся :roll:

Tarantul
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 13.12.2004 (Пн) 16:39
Откуда: IUnknown

Сообщение Tarantul » 24.02.2005 (Чт) 10:35

Я бы посоветовал это делать через DirectDraw, тут без разницы, куда выводить изображение - хоть на рабочий стол, хоть на VB.
Создаешь первичную поверхность, и на ней рисуеш.
Код: Выделить всё
Option Explicit

Dim dx As New DirectX7
Dim dd As DirectDraw7
Dim ds As DirectDrawSurface7

Dim desc As DDSURFACEDESC2

Sub DirectInit()
    Set dd = dx.DirectDrawCreate("")
    dd.SetCooperativeLevel 0, DDSCL_NORMAL
    desc.lFlags = DDSD_CAPS
    desc.ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE
   
    Set ds = dd.CreateSurface(desc)
End Sub


Переданый HWND не имеет ни какого значения. Теперь через функции ds(первичной поверхности) рисуем прямо на экране :wink:

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 26.02.2005 (Сб) 5:06

Поподробнее если можно :oops:

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 26.02.2005 (Сб) 13:05

Tarantul писал(а):Я бы посоветовал это делать через DirectDraw, тут без разницы, куда выводить изображение - хоть на рабочий стол, хоть на VB.
Создаешь первичную поверхность, и на ней рисуеш.
Код: Выделить всё
Option Explicit

Dim dx As New DirectX7
Dim dd As DirectDraw7
Dim ds As DirectDrawSurface7

Dim desc As DDSURFACEDESC2

Sub DirectInit()
    Set dd = dx.DirectDrawCreate("")
    dd.SetCooperativeLevel 0, DDSCL_NORMAL
    desc.lFlags = DDSD_CAPS
    desc.ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE
   
    Set ds = dd.CreateSurface(desc)
End Sub





Переданый HWND не имеет ни какого значения. Теперь через функции ds(первичной поверхности) рисуем прямо на экране :wink:



прямо на экране, но не на рабочем столе. иконки, меню пуск будут под изображением.
ХЎ

ne_tapka
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 13.04.2005 (Ср) 23:03

Сообщение ne_tapka » 01.05.2005 (Вс) 6:53

невозможное возможно:)

http://www.delphimaster.ru/articles/directx/

только вот вопрос.. как всё это совместить с iRender?


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

    TopList