Графический движек без аппаратного ускорения на VB6

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

Модератор: Mikle

Yabloko9393
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 6
Зарегистрирован: 19.12.2011 (Пн) 16:37
Откуда: Томск

Графический движек без аппаратного ускорения на VB6

Сообщение Yabloko9393 » 28.01.2013 (Пн) 23:03

Ну собственно из названия темы все ясно...Идея конечно бесперспективная)))) Но было интересно попытаться реализовать, так сказать, костный мозг 3D графики....Приложение работает просто...Запускаем и НИКУДА НЕ ТЫКАЕМ!! Медленно поворачиваем мышку вправо и находим много зелененьких объектов....Теперь можно пользуясь стрелками и мышкой перемещаться, Пробел-регенит новые "кубики" ...Если яростно потыкать "Z" то можно заставить "кубики" непрерывно крутиться
Не обращайте внимания на кнопки на форме-они толком ничего не значат
Что бы хотелось заметить
1)Собственно прорисовка происходит не по полигонам, а по граням(отрезкам) => все объекты(состоят из этих граней) прозрачные и впринципе не могут иметь текстур
2)Есть минимальный функционал для работы с векторами и матрицами
3) можно создавать много камер и кучу "кубиков=))" Движек сам разберется с точками и гранями...
4) Никаких классов....Когда делал проект не признавал классов)))) Все реализовано на функциях в которые передаем структуры
Например создание "кубика" выглядит так: FMaceScuare VCreate(0,0,0), VCreate(1,1,1), 255 -кубик определяется двумя точками(цвет не работает)
Создание камеры:
CCreate CamG, VCreate(10, 0, 0), VCreate(0, 0, 0)
CSetLinza CamG, 0.04, 0.08, 0.06, 800, 600
тут: создается камера CamG находящаяся вточке 10,0,0 направленная в точку 0,0,0
CSetLinza-задает параметры камеры: размер и отдаление прямоугольничка на который будет проецироваться изображение, и разрешение итоговой картинки
CamG-переменная ,объявленная как камера(Camera) <--структура...параметры всех функций названы так, чтоб можно было понять их смысл

Движечек выдерживает на своей тонкой спинке примерно 3000 граней в кадре(в обозримой области) используется затемнение с удалением (туман))))) , а это аж 250 "кубиков" или ,если бы этот термин был тут применим, 1500 полигонов..примерно(без текстур теней и тому подобных буржуйских привелегий)

Я прекрасно понимаю что делать движек без аппаратного ускорения, это....так скажем...ээээ....незачем короче...НО это было интересно)))
Если добавить возможность создания каких-либо других объектов кроме кубиков, то можно создать на этом движке простенькую игру..Типа гоночки в черном пространстве между преград на время....3D тетрис точно получить можно)))) Хотелось бы услышать ваше мнение по поводу моего тварения
У вас нет доступа для просмотра вложений в этом сообщении.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 29.01.2013 (Вт) 1:41

Yabloko9393 писал(а):Запускаем и НИКУДА НЕ ТЫКАЕМ!! Медленно поворачиваем мышку вправо и находим много зелененьких объектов....

Я конечно вижу, что на движения мыши всё реагирует, но зачем же насильно удерживать мышь над кнопкой?

Yabloko9393 писал(а):3D тетрис точно получить можно))))

Давай :)

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

Re: Графический движек без аппаратного ускорения на VB6

Сообщение Mikle » 29.01.2013 (Вт) 8:47

Когда-то я баловался чем-то подобным, вот софтрендер 3D полигональной модели с полноценным светом от спотлайт(Diffuse, Ambient, Specular), перспективно-корректным текстурированием, и даже с тенями с самозатенением. Левой кнопкой мыши вращаем модель, правой - источник света.
FPS смотрим в EXE, а не под отладкой :)
У вас нет доступа для просмотра вложений в этом сообщении.

Yabloko9393
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 6
Зарегистрирован: 19.12.2011 (Пн) 16:37
Откуда: Томск

Re: Графический движек без аппаратного ускорения на VB6

Сообщение Yabloko9393 » 29.01.2013 (Вт) 15:52

Qwertiy писал(а):
Yabloko9393 писал(а):Запускаем и НИКУДА НЕ ТЫКАЕМ!! Медленно поворачиваем мышку вправо и находим много зелененьких объектов....

Я конечно вижу, что на движения мыши всё реагирует, но зачем же насильно удерживать мышь над кнопкой?

Yabloko9393 писал(а):3D тетрис точно получить можно))))

Давай :)


у меня не над кнопкой)))) Тетрис лень делать) лучше Dx позанимаюсь


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

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

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

    TopList