Форум программистов, компьютерный форум CyberForum.ru

Компьютерная графика 3D. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
darkknight2008
 Аватар для darkknight2008
61 / 61 / 6
Регистрация: 16.10.2011
Сообщений: 200
22.04.2012, 20:47     Компьютерная графика 3D. #1
Потребовалось мне сделать проект с 3D графикой. Т.е. надо было нарисовать плоскость Безье. Все вроде бы получилось, но во первых, хреново работает Z-буффер, если объекты находятся друг в друге(отрезок в плоскости), то происходит неприятное искажение. Далее, плоскость Безье рисуется треугольниками, но используемый мной алгоритм приводит к тому, что между рядом стоящими треугольниками есть просветы, т.е. если у двух треугольников есть две общие вершины, то когда я оба треугольника нарисую, то между ними будут черные точки, через которые будут просвечивать объекты, которые находятся за треугольниками. Но это все не очень критично, основная проблема у меня с добавляением освещения. Я начитался кучкой статей и парой книжек, даже есть некоторые сподвижки, но дальше совершенно не идет(( Если у кого-то есть, пожалуйста выложите свой проект на схожую тематику, либо дайте информацию, как все это дело вообще делается. Заранее предупреждаю, должна использоваться чистая математика(матрицы, векторы и т.п.), НИКАКИХ OpenGL и DirectX, вся 3D графика делается собственноручно. С отчаянием жду помощи от вас.

Добавлено через 24 минуты
В данный момент графика рисуется так: есть координаты вершин треугольника, все вершины умножаются на матрицы камеры и проецирования, все вершины проецируются на экран(получаем экранные координаты), а затем уже по трем точкам я рисую треугольник(закрашиваю его горизонтальными линиями).
Меня интересует вопрос, оправдает ли себя использование обратной трассировки лучей? Т.е. отказаться от текущего способа, и через каждый пиксель экрана пропускать луч, искать его пересечение с треугольниками, а далее определять цвет с учетом источника света, ну и т.п.?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2012, 20:47     Компьютерная графика 3D.
Посмотрите здесь:

компьютерная графика и анимация C++
Компьютерная графика в c++ C++
C++ Компьютерная игра (платформы)
C++ Компьютерная графика. Реализация фигуры додекаэдр
C++ Компьютерная графика
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
23.04.2012, 00:21     Компьютерная графика 3D. #2
а как вы будете использоваться 3D без OpenGL и DirectX????
Цитата Сообщение от darkknight2008 Посмотреть сообщение
НИКАКИХ OpenGL и DirectX, вся 3D графика делается собственноручно.
WinAPI, но это 2Д
IFree Host
23.04.2012, 00:24
  #3

Не по теме:

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

Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.04.2012, 00:57     Компьютерная графика 3D. #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от panicwassano Посмотреть сообщение
а как вы будете использоваться 3D без OpenGL и DirectX????
очень просто - из самого примитивного - аксонометрические проекции например
darkknight2008
 Аватар для darkknight2008
61 / 61 / 6
Регистрация: 16.10.2011
Сообщений: 200
23.04.2012, 01:53  [ТС]     Компьютерная графика 3D. #5
Считай основная база у меня сделана, это и работа с векторами и матрицами. Используется перспективная проекция. Реализованы методы, позволяющие нарисовать плоскость Безье, сделан Z-буфер. Но основная проблема в мелочах, и я не знаю, как их исправлять(( А на вопрос зачем это надо, ответ предельно понятен - институт.
IFree Host
23.04.2012, 02:20
  #6

Не по теме:

Понятно, значит, меня это тоже ожидает! Если, конечно, вообще дотяну до конца.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2012, 15:44     Компьютерная графика 3D.
Еще ссылки по теме:

Компьютерная графика C++
C++ Посоветуйте литературу по теме "Компьютерная графика и аналитическая геометрия"

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

Или воспользуйтесь поиском по форуму:
darkknight2008
 Аватар для darkknight2008
61 / 61 / 6
Регистрация: 16.10.2011
Сообщений: 200
23.04.2012, 15:44  [ТС]     Компьютерная графика 3D. #7
Ладно, помощь больше не требуется. Все сделано хоть и не в лучшем виде, но работает, освещается и отсекается невидимое.
Yandex
Объявления
23.04.2012, 15:44     Компьютерная графика 3D.
Ответ Создать тему
Опции темы

Текущее время: 01:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru