- PVSM.RU - https://www.pvsm.ru -
С Рождеством дорогие читатели!
Хочу бескорыстно поделиться своим скромным проектом [1].
Проект закончил еще в сентябре 2011 года, когда был готов официальный сайт [2], с тех пор я не вспоминал и не занимался проектом вовсе.
Предпосылки для создания было две: то, что это возможно и то, что это что-то удивительное, я имею в виду покрытие десктопа живой 3D картинкой, меня поначалу это завораживало, да и есть где фантазии разгуляться. Конечно, способов анимировать десктоп и сейчас хватает, но решений подобно моему я не встречал.
Если описать весь процесс, то все довольно просто:
hP = FindWindow(L"ProgMan", NULL);
hD = GetDesktopWindow();
if (!SUCCEEDED(InitD3D(hD))) { FatalError( L"Can't init Direct3D" ); ExitProcess(NULL);}
SetWindowLong(hP,GWL_EXSTYLE, GetWindowLong(hP,GWL_EXSTYLE) | WS_EX_LAYERED );
UAC_hook = SetWinEventHook( EVENT_SYSTEM_DESKTOPSWITCH, EVENT_SYSTEM_DESKTOPSWITCH, NULL, WinEventCallback, 0, 0, WINEVENT_OUTOFCONTEXT | WINEVENT_SKIPOWNTHREAD);
Кстати, исходный код представлен в довольно необычной форме, более 3000 строк кода и все одном файле, связано это с первым опытом C++ и DirectX.
Единственным недостатком, из-за которого решение нельзя было бы назвать правильным, является именно вывод 3D графики на рабочем столе главном окне, которое под это в принципе не предназначено.
Хотелось бы предупредить, что программа потребляет неодинаковое количество ресурсов на разных компьютерах и операционных системах, т.е. может использовать <1% CPU на одном компьютере и >40% на другом, примерно такой же комплектации (лучшая производительность на Windows XP). Используйте спящий режим — двойной щелчок на иконке в трее.
Помимо рендера обоев с разных ракурсов 3D модели, пускай даже с фотографиями родных или календариком (да да, тем самым календариком который нам подарил [3] на новый год дорогой anatoly_rr [4]), можно постараться найти несколько полезных применений подобному решению, таких как:
Все, включая модели, делал в одиночку и конечно не всем они могут быть по душе, понимаю.
Импорт собственной модели не составит особого труда, особенно если Вы владеете 3D редактором, вчера специально создал небольшой мануал (англ.) [5] по импорту 3D модели из 3Ds Max, так же имеется видео на youtube [6]. Существует несколько нюансов, ведь, как вы наверное догадались, тени отрисовываются не налету, а экспорт же происходит в старый добрый *.X файл [7]. Если у Вас будут обои, сбрасывайте, я их разшарю в специальном разделе [6]. Спасибо за внимание!
Сайт проекта: michael.verhov.com/project/full3dwallpaper [8]
Официальный: full3dwallpaper.com [9]
GitHub: github.com/verhov/full3dwallpaper [10]
Видео немножко: www.youtube.com/watch?v=zkVRyfxRGn0 [11]
Автор: verhov
Источник [12]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/windows/24236
Ссылки в тексте:
[1] скромным проектом: http://michael.verhov.com/Project/full3dwallpaper
[2] официальный сайт: http://full3dwallpaper.com/
[3] подарил: http://habrahabr.ru/post/164419/
[4] anatoly_rr: http://habrahabr.ru/users/anatoly_rr/
[5] небольшой мануал (англ.): http://michael.verhov.com/Project/how_to_create_3D_wallpaper
[6] youtube: http://full3dwallpaper.com/?wallpapers.html
[7] *.X файл: http://ru.wikipedia.org/wiki/X_(%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2)
[8] michael.verhov.com/project/full3dwallpaper: http://michael.verhov.com/project/full3dwallpaper
[9] full3dwallpaper.com: http://full3dwallpaper.com
[10] github.com/verhov/full3dwallpaper: https://github.com/verhov/full3dwallpaper
[11] www.youtube.com/watch?v=zkVRyfxRGn0: http://www.youtube.com/watch?v=zkVRyfxRGn0
[12] Источник: http://habrahabr.ru/post/165007/
Нажмите здесь для печати.