![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Всем привет.
Под четырёхмерной визуализацией я понимаю визуализацию функции трёх переменных f(x,y,z), в которой переменные откладываются по трём осям, а цвет служит индикатором того или иного значения функции (в лит-ре - volume visualization). Имею замысел сделать небольшую программку, скорее всего с использованием DirectX, которая могла бы это делать. Сразу скажу, что по четырёхмерке в сети очень мало наработок, имеющиеся - старые и закрытые, так что надо думать самому. Так что, если то, что я опишу далее, неосуществимо или можно сделать лучше - так и скажите, плз. Положим, у меня имелись таблицы значений f(x,y,z), из которых я уже наштамповал стопку изображений с альфа-каналом. Каждое из этих изображений является срезом будующей визуализации по высоте, то есть, разместив их друг под другом, я получу желанный слоёный пирог. Проблема шага между слоями, в принципе, не стоит, поскольку промежуточные изображения можно сгенерить, воспользовавшись, например, интерполяционными полиномами. В чём же вопрос? = Затруднение вызывает вывод двухсторонних, полупрозрачных текстур (этих самых изображений) друг над другом с весьма малым шагом. Может быть, угостите советом/ссылкой или куском кода под DirectX? ЗЫ: Пишу в раздел C#, однако готов разобраться и в плюсах. -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Пример на XNA подойдёт ?
-------------------- ![]() |
|||
|
||||
| marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Да, подойдёт. -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
| mr.DUDA |
|
||||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Ok, только сразу предупреждаю не пугаться если с шейдерами не знаком
Исходник:
my_shader.fx
Трехмерная текстура может быть любая. Шейдер и текстуру можно положить в любую директорию, только пути подправить в коде. Отрисованный результат можно забрать из бэкбуфера в текстуру (device.ResolveBackBuffer) и к примеру сохранить в файл. Это сообщение отредактировал(а) mr.DUDA - 18.4.2007, 09:37 -------------------- ![]() |
||||
|
|||||
| marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Не знаком. Не пугаюсь, наборот, оч любопытно. С XNA ранее не работал, но сейчас поставлю и буду обучаться (кажется, это того стоит). Большое спасибо за подробный пример! -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Я отредактировал предыдущий пост, добавил перспективу (см. скрин). В первом варианте слои "склеивались" в один квадрат повёрнутый к наблюдателю. На скрине - шумовая текстура без прозрачности (других не было). Можно поиграться с настройкой параметров (строки 78 и 79), чтобы все слои "бутерброда" были видны.
Присоединённый файл ( Кол-во скачиваний: 34 )
shot.jpg 57,22 Kb-------------------- ![]() |
|||
|
||||
| Lеstat |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 28.12.2005 Где: Москва Репутация: нет Всего: нет |
Не подскажете как можно выводить то, что рисует XNA на свою форму?
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Это второй вопрос С ходу не отвечу, но видимо достаточно выполнить GraphicsDevice.Reset передав туда PresentationParameters с указанием собственного контрола в DeviceWindowHandle. -------------------- ![]() |
|||
|
||||
| Kvazilol |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 7.12.2006 Репутация: нет Всего: нет |
прошу прощения, а как понормальному поставить XNA ? у меня оно пишет что требуется VisualStudio Express но я не собираюсь сносить Final и ставить это убожесто
|
|||
|
||||
| Lеstat |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 28.12.2005 Где: Москва Репутация: нет Всего: нет |
покапался и вот что нашел... интересные статейки
XNA - WinForms Using XNA with WinForms "сам шучу, сам смеюсь" © а вот на тему как поставить без экспресса... так бегло просморел Поставил XNA Studio без C# Express Проблемы с работой XNA XNA на MSVS2005Pro Это сообщение отредактировал(а) Lеstat - 20.4.2007, 02:42 |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Kvazilol,
Модератор: Пожалуйста, один топик - один вопрос. -------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |