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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлами С++ http://www.cyberforum.ru/cpp-beginners/thread555455.html
Написать программу для сжатия какого-либо файла в 2 раза.
C++ Выписать из текста слова начинающиеся и заканчивающиеся цифрой. Вот я попытался что то написать, если её запустить она работает, но если ввести что то с цифрой выдает ошибку. #include <stdafx.h> #include "iostream" #include<string.h> #include <ctype.h> using namespace std; void main() {char text; cout<<"Vvesti text"; cin>>text; http://www.cyberforum.ru/cpp-beginners/thread555453.html
Хэширование строк. c++ C++
Доброе время суток! Пишу программу для хэширования строк (свёртка 2). #include <iostream> #include <string.h> using namespace std; int hash_calc_sv2(char x,const int size) { cout<<x<<" "; int StringLength,HashKey,i,tmp;
C++ Массив - разбиение, сравнение, сохранение
Привет всем, ребят помогите написать программу, дан массив m, заполняющейся случайными элементами, необходимо разбить его на 4 равных части, в каждой части сравнить каждый элемент с его 8 соседями, ту часть в которой таких элементов больше всего скопировать в новый массив, распечатать его и сохранить в текстовый файл.
C++ Оформить задачу в функции. http://www.cyberforum.ru/cpp-beginners/thread555438.html
Всем привет!) У меня есть сделанная задача. Я не пойму как решить вот эту задачу. Выполнить задания третьего семинара ( Одномерные массивы ) и четвертого семинара ( Двумерные массивы ), оформив каждый пункт задания в виде функции. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается. Вот код моей...
C++ Не могу найти точку симметричную точке относительно прямой Найти точку симметричную точке А(-4;1) относительно прямой ВС 4х+3у-23=0 подробнее

Показать сообщение отдельно
darkknight2008
62 / 62 / 6
Регистрация: 16.10.2011
Сообщений: 200

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

22.04.2012, 20:47. Просмотров 1288. Ответов 6
Метки (Все метки)

Потребовалось мне сделать проект с 3D графикой. Т.е. надо было нарисовать плоскость Безье. Все вроде бы получилось, но во первых, хреново работает Z-буффер, если объекты находятся друг в друге(отрезок в плоскости), то происходит неприятное искажение. Далее, плоскость Безье рисуется треугольниками, но используемый мной алгоритм приводит к тому, что между рядом стоящими треугольниками есть просветы, т.е. если у двух треугольников есть две общие вершины, то когда я оба треугольника нарисую, то между ними будут черные точки, через которые будут просвечивать объекты, которые находятся за треугольниками. Но это все не очень критично, основная проблема у меня с добавляением освещения. Я начитался кучкой статей и парой книжек, даже есть некоторые сподвижки, но дальше совершенно не идет(( Если у кого-то есть, пожалуйста выложите свой проект на схожую тематику, либо дайте информацию, как все это дело вообще делается. Заранее предупреждаю, должна использоваться чистая математика(матрицы, векторы и т.п.), НИКАКИХ OpenGL и DirectX, вся 3D графика делается собственноручно. С отчаянием жду помощи от вас.

Добавлено через 24 минуты
В данный момент графика рисуется так: есть координаты вершин треугольника, все вершины умножаются на матрицы камеры и проецирования, все вершины проецируются на экран(получаем экранные координаты), а затем уже по трем точкам я рисую треугольник(закрашиваю его горизонтальными линиями).
Меня интересует вопрос, оправдает ли себя использование обратной трассировки лучей? Т.е. отказаться от текущего способа, и через каждый пиксель экрана пропускать луч, искать его пересечение с треугольниками, а далее определять цвет с учетом источника света, ну и т.п.?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru