Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
1 / 1 / 1
Регистрация: 23.08.2015
Сообщений: 67

DirectX - написать самый простой воксельный движок

06.01.2016, 07:55. Показов 3133. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я снова всех приветствую!
Возникла необходимость написать самый простой воксельный движок на и vb.net. Для этог я выбрал DirectX. И проблемой оказалось освоение совсем простых азов, а именно:
- Как правильно заносить большое количество полигонов в буффер
- Какой буффер нужно использовать для отображения полигонов в объеме
- Как управлять камерой (и что делать лучше: вращать камеру или вращать мир)

Суть моей задумки проста: имеем трехмерный массив координат кубов, по каждой координате находятся 12 треугольников, образующих куб. По-крайней мере я думаю что можно сделать так. Или есть способ сделать лучше? Текстурирование не нужно. Только цветные полигоны.

Так же хотелось бы сделать все это эффективно в плане производительности. Опыт какой никакой у меня есть, но только в приложениях, использующих 2д графику. Но здесь я надеюсь уже сам разберусь если научусь работать с 3д.

Молю Вас о помощи! Пишу не в тему графики т.к. там ребята вряд-ли сидят на vb .net. А сам я человек который совсем не понимает в 3d.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.01.2016, 07:55
Ответы с готовыми решениями:

Ищу простой 3D игровой движок на С++ и DirectX
Доброго времени суток. Мне необходимо найти исходник простой 3D игры для демонстрации ее, пусть даже и примитивных, возможностей движка....

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

Помогите написать простой 2D движок прямоугольников
Прошу извинения что Javascript code в С++ разделе, но тут я думаю все самые умные. Да и языки программирования почти ничем не отличаются....

22
47 / 47 / 7
Регистрация: 26.12.2014
Сообщений: 189
09.01.2016, 12:29
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от MoteX Посмотреть сообщение
godmode, Огромнейшее спасибо) Изучу те пункты, которые Вы мне поправили) Осталось с нормалями разобраться, а в конце и самой камерой)
Я так и не разобрался с ними:
Если прямоугольный полигон имеет координаты х10 y10 z 1 (координаты прямого угла), а размеры его катетов равны, то по идее нормаль для него будет x0 y0 z-1 . Или ошибаюсь?
У полигона z координаты не меняются у всех его вершин, поэтому лежит параллельно плоскости z
В книге есть инфа про нормали и про освещение. Ну а чтобы камерой управлять нужно понять что такое матрица проекции(Projection) и матрица вида(View). Каждый параметр там с описанием.
0
1 / 1 / 1
Регистрация: 23.08.2015
Сообщений: 67
10.01.2016, 19:34  [ТС]
Хорошо. С освещением разобрался, с камерой вроде более менее понял. остается главный вопрос - как грамотно хранить вершины, если полигонов тьма-тьмущая? например подсчитать: карта размером 512х512х64 = 17332224 куба, это все умножается на 36 вершин - большое количество. Но при попытке инициализировать массив таких размеров конечно же будет исключение. Как быть?
0
47 / 47 / 7
Регистрация: 26.12.2014
Сообщений: 189
11.01.2016, 18:34
Цитата Сообщение от MoteX Посмотреть сообщение
Хорошо. С освещением разобрался, с камерой вроде более менее понял. остается главный вопрос - как грамотно хранить вершины, если полигонов тьма-тьмущая? например подсчитать: карта размером 512х512х64 = 17332224 куба, это все умножается на 36 вершин - большое количество. Но при попытке инициализировать массив таких размеров конечно же будет исключение. Как быть?
Придумать оптимизацию. К примеру объединять одинаковые вершины/модели.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.01.2016, 18:34

Написать клиент-сервер (самый простой)
Всем доброго времени суток ! Я поставил себе задачу написать клиент-сервер (самый простой) , почитал литературу , смотрел исходники , но...

Написать самый простой мини-чат
Всем првиет! У меня есть задача: написать самый простой мини-чат! Я даже не понимаю как он работает и даже не знаю с чего начать! Я...

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

Как написать самый простой драйвер клавиатуры?
Хочу написать самый простой драйвер клавиатуры, по аппаратному прерыванию, что бы например при нажатии любой произвольной кнопки на экран...

Как в visual studio 15 написать самый простой код на LUA
Хочу написать самый простой код на LUA в VS. Для этого взял готовый пример из книжки, в одну строку. И создал в visual studio Community...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru