НИЧЕГО НЕ ИЗУЧАЛ, отвечу как сам понимаю :)
Потому что это компьютер, тут все дискретно и ограничено вопросом да или нет. А круг - это бесконечное кол-во вопросов "да или нет", бесконечное кол-во информации (ведь если круг увеличивать - он все-равно будет кругом и не будет минимальной точки), что просто невозможно в рамках компьютера. Потому и приходится ограничивать кол-во этих вопросов. А ограничены эти вопросы кол-вом пикселей - квадратиков, из чего и состоит все цифровое изображение, а далее уже полигоны, спрайты и тд. Так-же и цифровой звук, но это другая история...
Клиентские игры
Почему в видео играх нельзя сделать ровный круг? Почему делают двенадцатиугольники а не ровные круги?
полигонов мало
Для экономии видеопамяти и увеличения производительности. Можно конечно картинку круглую с альфа каналом сделать,
Допустим есть 3Д моделька квадрата. Квадрат это полигон. В программе типа 3Ds Max такой полигон имеет 4 вершины. Но это всего лишь управляющие вершины. На самом деле вершин 6.
Полигон состоит из треугольников. Значит 2 треугольника с 3 вершинами у каждой.
Каждая вершина описывает позицию в 3D пространстве. например x=1.4242412 y=32.342342 z=-31.34232
Они указаны с десятичными дробями.
Чтобы хранить такие данные в компе используют тип float, обычно он равен 32 битам (4 байта),
Для того чтобы на модельке была правильно наложена текстура используют текстурные координаты. два значения для каждой вершины. так же тип float.
Для того чтобы не рисовать невидимую часть полигона (заднюю сторону), и чтобы понять куда повёрнута грань, полигон, есть нормали. Так же 3 значения на каждую вершину.
Получается. 6 вершин. 1 вершина хранит 3 координаты позиции, 3 нормали и 2 текстурные координаты, всего 8.
Они типа float (32 бита)
значит 32 * 8 = 256 бит на 1 вершину.
Вершин 6, значит 256 * 6 = 1536 бит
8 бит = 1 байт
1536 делим на 8 = 192 байта. на жалкий полигон.
А ещё есть индексный буффер в соответствии с которым идём построение 3D модели.
Так же к вершинам может быть множество других данных.
Те три данные это минимум.
теперь прикинем, сколько примерно весит автомобиль в памяти
Обычно у такого автомобиля около 5000 полигонов.
значит 10 000 треугольников
10 000 * 256(байтов) = 2 560 000(бит) = 320000(байт) = 312.5(кб)
текстура больше всех тратить память
100 на 100, каждая точка кодируется 4мя 32битными значениями значит 128бит*10000=1 280 000=156,кб маленькая текстура, меньше чем у текстур в PlayStation 1
текстура среднего качества 1024 на 1024 размером = 16 мегобайт.
У одной модели может быть несколько текстур.
Модель может ещё содержать normal текстуру (без неё попиксельное освещение не сделать) ещё + 16мб.
Всё это ещё нужно прогнать через шейдер, в который за каждый кадр пересылается куча данных (позиция камеры игрока, матрицы, источники света, текстуры, нормаль текстуры и т. д.)
Сначала через вершинный, в зависимости сколько вершин у каждой модели, потом через пиксельный, каждую модель. Пиксельный прогоняется столько раз сколько разрешение экрана стоит. 800*600 = 480000 раз при таком.
Допустим есть 3Д моделька квадрата. Квадрат это полигон. В программе типа 3Ds Max такой полигон имеет 4 вершины. Но это всего лишь управляющие вершины. На самом деле вершин 6.
Полигон состоит из треугольников. Значит 2 треугольника с 3 вершинами у каждой.
Каждая вершина описывает позицию в 3D пространстве. например x=1.4242412 y=32.342342 z=-31.34232
Они указаны с десятичными дробями.
Чтобы хранить такие данные в компе используют тип float, обычно он равен 32 битам (4 байта),
Для того чтобы на модельке была правильно наложена текстура используют текстурные координаты. два значения для каждой вершины. так же тип float.
Для того чтобы не рисовать невидимую часть полигона (заднюю сторону), и чтобы понять куда повёрнута грань, полигон, есть нормали. Так же 3 значения на каждую вершину.
Получается. 6 вершин. 1 вершина хранит 3 координаты позиции, 3 нормали и 2 текстурные координаты, всего 8.
Они типа float (32 бита)
значит 32 * 8 = 256 бит на 1 вершину.
Вершин 6, значит 256 * 6 = 1536 бит
8 бит = 1 байт
1536 делим на 8 = 192 байта. на жалкий полигон.
А ещё есть индексный буффер в соответствии с которым идём построение 3D модели.
Так же к вершинам может быть множество других данных.
Те три данные это минимум.
теперь прикинем, сколько примерно весит автомобиль в памяти
Обычно у такого автомобиля около 5000 полигонов.
значит 10 000 треугольников
10 000 * 256(байтов) = 2 560 000(бит) = 320000(байт) = 312.5(кб)
текстура больше всех тратить память
100 на 100, каждая точка кодируется 4мя 32битными значениями значит 128бит*10000=1 280 000=156,кб маленькая текстура, меньше чем у текстур в PlayStation 1
текстура среднего качества 1024 на 1024 размером = 16 мегобайт.
У одной модели может быть несколько текстур.
Модель может ещё содержать normal текстуру (без неё попиксельное освещение не сделать) ещё + 16мб.
Всё это ещё нужно прогнать через шейдер, в который за каждый кадр пересылается куча данных (позиция камеры игрока, матрицы, источники света, текстуры, нормаль текстуры и т. д.)
Сначала через вершинный, в зависимости сколько вершин у каждой модели, потом через пиксельный, каждую модель. Пиксельный прогоняется столько раз сколько разрешение экрана стоит. 800*600 = 480000 раз при таком.
Почитай про полигоны. Весь игровой мир состоит из полигонов - плоскостей с текстурой. Современные средства программирования не позволяют создать что-то состоящее не из множества плоскостей
круг нельзя
Похожие вопросы
- Что делать если не хочется играть в игpы? В комп. игры; И вooбще не хочется нечего делать, от скуки провожу дни в инете
- Почему для многих игр в стиме нету русского языка? а в origin есть?
- Есть ли предположение от чего могла "сломаться" видео-игра? Вероятно виновата пиратка и ее кривость?
- Почему кроме Сталкера ни одной хорошей игры не сделали? Бездари или это разработчики Сталкера гении?
- Топ 10 лучших компьютерных видео игр именно для вас?
- Почему многие считают что женских персонажей в игре нужно сделать страшными и уродливыми ?
- Если мужик в 40 лет после работы, вместо фильма играет в видео игры такие как Far cry 4 это нормально.?
- Почему ни 1 разрабочик не сделал мультиплеерную игру или сервер с единым балансом для вывода и доната?
- Зашел в компьютерный клуб поиграть в игры. Ошеломили тем, что для игр требуется аккаунт в стиме. Почему нельзя просто
- Почему сейчас все игры про убийство?