Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

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

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

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

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

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

Урок №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
Репутация: 424
По умолчанию

Урок №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
Репутация: 424
По умолчанию

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

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

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

icq: 449770083
Вопрос Что за {Ой!}???

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

Код:

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 в 23:23. Причина: Код вставил
Dura4ok вне форума   Ответить с цитированием
Старый 07.05.2007, 15:29   #28
НЕ_АЙС
Форумчанин
 
Регистрация: 18.04.2007
Сообщений: 135
Репутация: 145

icq: 604193814
По умолчанию

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

icq: 449770083
По умолчанию

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

icq: 449770083
Лампочка ну а

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


01:56.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru