Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2007, 11:50   #21
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Цитата:
Сообщение от execom Посмотреть сообщение
Урок №10
Вот пример того как можно работать с возможностями 3D в Delphi!
Простенький мануальнчик с примером исходника!
Заинтересовало, а готовых исходников нет?
Alar вне форума Ответить с цитированием
Старый 09.04.2007, 22:30   #22
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Урок №11
Вот исходник программы работы с 3D объектом, его можно вращать, и изменять его размер!
Вложения
Тип файла: rar greed.rar (40.3 Кб, 555 просмотров)
execom вне форума Ответить с цитированием
Старый 12.04.2007, 07:54   #23
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Урок №12
Что такое OpenGL?
В этом уроке мы поговорим о том, что вообще такое OpenGL, для чего это нужно. Для начала, вы должны неплохо знать ОС Windows, а также язык Си++ (в данном случае, Visual C++, так как мы будем работать именно в этой среде разработки).
Итак, OpenGL (Открытая Графическая Библиотека) - это программный интерфейс (API) для разработки приложений с использованием 2D и 3D графики.
OpenGL стоит как бы между аппаратным обеспечением, и пользовательским уровнем.
Основные особенности этой библиотеки являються:
Стабильность:
Это означает, что дополнение в OpenGL реализуется так, что бы сохранить совместимость с более старым программным обеспечением.

Переносимость (независимость):
Код программы, которую вы написали, скажем, под Windows, можно легко перенести на Linux и другие ОС. То есть, OpenGL не зависит от какой ни будь операционной системы, как, например DirectX.
Простота в использовании:
Приложения, написанные с помощью OpenGL, имеют сравнительно небольшой объем кода. Также эта библиотека имеет понятный интерфейс. И разобраться в коде программы очень просто.
Ну и наконец OpenGL это отраслевой стандарт, т.е. вы можете взять исходники и сделать на их юызе что-нибудь своё.
Основные возможности OpenGL:
· Набор базовых примитивов: точки, линии, многоугольники и т.п.
· Видовые и координатные преобразования
· Удаление невидимых линий и поверхностей (z-буфер)
· Использование сплайнов для построения линий и поверхностей
· Наложение текстуры и применение освещения
· Добавление специальных эффектов: тумана, изменение прозрачности, смешивание цветов (blending), устранение ступенчатости (anti-aliasing). Я думаю, что всех этих достоинств достаточно для того, чтобы выбрать OpenGL для создания 3D графики (игр, в частности).
execom вне форума Ответить с цитированием
Старый 12.04.2007, 07:57   #24
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Урок №13

Основные термины и понятия компьютерной графики.

Рендеринг- это процесс подготовки, выдачи (прорисовки) изображения на экран. В общем, это все действия, которые связаны с выдачей картинки на экран.
Буфер- это область для временного хранения данных.
Двойная буферизация- это один из способов рендеринга, при котором существует два буфера. Содержимое первого (переднего) буфера (front buffer) показываеться на экран и вы видите какое то изображение. В это время на заднем буфере (back buffer) подготавливается следующий кадр (рисуется). Когда кадр на заднем буфере готов, тогда передний и задний буфер меняются местами. И затем все это повторяется. С помощью такой технологии избегается мерцание экрана.
Пиксель- это наименьшая точка, которую можно различить на экране. Он является единицей двухмерного изображения.
Камера- это не то, что вы подумали… Камера- это место, из которого вы смотрите на экран.
Трансформация- нахождение координат точки в заданной системе координат, используя координаты точки в другой системе (это переносы, или вращения). При трансформации положение точки не меняется.
Мировая система координат- это система координат, которая считается неподвижной. Обычно относительно этой системы координат задаются положение камеры, и объектов.
Примитив- это основная единица, из которой строятся сложные объекты. Примитивом может быть: точка, линия, треугольник, или что ни будь подобное…
Z-buffer- также часто вместо этого слова употребляется слово Буфер Глубины (Depth Buffer). Это буфер величиной с экран, в котором хранятся Z координаты пикселей. Z-ось добавляет третью величину- глубину.
Матрица- в компьютерной графике, это массив чисел (обычно 4х4), который содержит значения векторов систем координат.
Проекция- это перевод координат из пространства (камеры) на экран, или с 3х мерных координат в 2х мерные.
execom вне форума Ответить с цитированием
Старый 18.04.2007, 08:11   #25
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Урок 15
Интересный пример по проецированию курсора мыши на 3-х мерную поверхность! Данный пример будет интересен как новичкам, так и профессионалам.
Вложения
Тип файла: rar gl.rar (71.1 Кб, 416 просмотров)
execom вне форума Ответить с цитированием
Старый 24.04.2007, 06:53   #26
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Урок №16
Данный исходник программы для игры в Русские шашки! Причем соперник имеет достаточно высокий интелект!
Вложения
Тип файла: rar Shashky.rar (13.9 Кб, 319 просмотров)

Последний раз редактировалось execom; 28.04.2007 в 10:42. Причина: Нада!!!
execom вне форума Ответить с цитированием
Старый 07.05.2007, 14:02   #27
Dura4ok
Подтвердите свой е-майл
 
Регистрация: 06.05.2007
Сообщений: 5
Вопрос Что за {Ой!}???

Я пытаюсь сделать арканоид, уже прописал физику мяча, но не могу теперь описать движение платформы.
записал всё как в вашем первом уроке в том же юните, и ничего не происходит.
З.Ы: в чистом юните всё работает.
Помогите!!!

Код:
unit Horray;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, XPStyleActnCtrls, ActnList, ActnMan;
type
TForm1 = class(TForm)
Shape1: TShape;
Shape2: TShape;
ZGMI: TButton;
procedure ZGMIClick(Sender: TObject);
private
public
procedure HandleMessages(var Msg: tMsg; var Handled: Boolean);
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
 
{$R *.dfm}
 
 
procedure TForm1.ZGMIClick(Sender: TObject);
begin
while (Shape1.Left + Shape1.Width < Form1.Width) and (shape1.Top > 5) do
begin
shape1.Top := shape1.top -5;
Shape1.Left:= Shape1.Left + 5;
Sleep(10);
Form1.Refresh;
end;
if Shape1.Left + Shape1.Width < Form1.Width then
while Shape1.Left + Shape1.Width < Form1.Width do
begin
shape1.Top := shape1.top +5;
Shape1.Left:= Shape1.Left + 5;
Sleep(10);
Form1.Refresh;
end
else
while shape1.Top > 5 do
begin
shape1.Top := shape1.top -5;
Shape1.Left:= Shape1.Left -5;
Sleep(10);
Form1.Refresh;
end;
if Shape1.Left + Shape1.Width = Form1.Width then
while shape1.top< form1.height - shape1.height do
begin
shape1.Top := shape1.top +5;
Shape1.Left:= Shape1.Left -5;
Sleep(10);
Form1.Refresh;
end
else
while (shape1.top< form1.height - shape1.height) and (Shape1.Left > 0) do
begin
shape1.Top := shape1.top +5;
Shape1.Left:= Shape1.Left -5;
Sleep(10);
Form1.Refresh;
end;
while shape1.top< form1.height - shape1.height do
begin
shape1.Top := shape1.top +5;
Shape1.Left:= Shape1.Left +5;
Sleep(10);
Form1.Refresh;
end;
end;
procedure tForm1.HandleMessages(var Msg: tMsg; var Handled: Boolean);
begin
if (Msg.Message = WM_KeyDown) and
(Msg.wParam in [VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT]) then
begin
case Msg.wParam of
VK_UP: ShowMessage;
VK_DOWN: ShowMessage;
VK_LEFT: ShowMessage;
VK_RIGHT: ShowMessage;
end;
Handled := True;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := HandleMessages;
end;
end.

Последний раз редактировалось Beermonza; 06.12.2010 в 22:23. Причина: Код вставил
Dura4ok вне форума Ответить с цитированием
Старый 07.05.2007, 15:29   #28
НЕ_АЙС
Форумчанин
 
Регистрация: 18.04.2007
Сообщений: 135
По умолчанию

Остальное сам допишешь
Вложения
Тип файла: rar fuck.rar (3.2 Кб, 207 просмотров)
НЕ_АЙС вне форума Ответить с цитированием
Старый 07.05.2007, 15:31   #29
Dura4ok
Подтвердите свой е-майл
 
Регистрация: 06.05.2007
Сообщений: 5
По умолчанию

ПАСИИИИБ!!!!!!!!!!!!!
Dura4ok вне форума Ответить с цитированием
Старый 08.05.2007, 08:57   #30
Dura4ok
Подтвердите свой е-майл
 
Регистрация: 06.05.2007
Сообщений: 5
Лампочка ну а

ну а с моей то что?
Dura4ok вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хорошие уроки Render Общие вопросы Delphi 9 15.09.2012 07:13
Акцесс вопросы новичков Yaga Помощь студентам 4 02.06.2008 00:16
Учебники для новичков в програмировании Рар Общие вопросы Delphi 6 08.01.2007 08:07