Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рисование закрашенного треугольника, вручную 
:(
    Опции темы
nns2009
Дата 5.3.2010, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 174
Регистрация: 1.2.2009

Репутация: нет
Всего: 1



Решил заняться разработкой 3d движка.
На удивление, с преобразованием координат из 3d в 2d проблем не возникло(проверял, создав простенькую функцию для рисования треугольника средствами ActionScript 3.0).
Но когда решил заняться z-буфером(для определения более ближнего к камере объекта), сразу возникла проблема:
т. к. каждой точке надо поставить в соответсвие дополнительную характеристику(depth(глубина)), нельзя сразу нарисовать фигуру на экран, а нужно поначалу нарисовать фигуру в массив(screen[width][height]) размером с экран(элементы которого содержат 2 характеристики(глубина и цвет)), при этом рисование должно производиться поточечно: если у данной точки треугольника глубина меньше, чем в соответсвующей точке массива(то есть треугольник ближе, чем самый близкий объект, нарисованный до этого), то заменить цвет точки в массиве на цвет треугольника.
В конце концов нужно поточечно отобразить элементы массива.

Я попробовал реализовать что-то подобное, но треугольники рисовались не совсем правильно и всего-лишь 6 треугольников жутко тормозили(а ведь в современных играх рисуются 1000000-ны треугольников без торможения, да и с текстурой!).

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

Пусть screen - массив, в который всё нужно нарисовать
width - ширина экрана
height - высота экрана
у каждого элемента массива 2 свойства: depth и color

Это сообщение отредактировал(а) nns2009 - 5.3.2010, 19:48
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 3 | Следующая тема »


 




[ Время генерации скрипта: 0.0439 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.