forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=108)
-   -   Реализация простой камеры. (http://forum.boolean.name/showthread.php?t=5025)

Данил 14.11.2007 19:29

Реализация простой камеры.
 
Решил я попытатся написать че-нить на OpenGL. OpenGL рулит.
Уже сделал несколько функций по работе с объектами (MoveEntity , RotateEntity , TurnEntity, translateEntity .. в обще б3д ^_^) . И сами объккты (пока кубики) .

Вот уже сколько читаю на сайтах.... везде про какие-то кватернионы...
как-то там сложно написано.. моему моску это не понять ^_^
объясните, как нормльно на бмаксе сделать камеру... вот не понимаю...

И пример со свободным полетом и управлением с мыши... плиз...

alcoSHoLiK 14.11.2007 19:34

Re: Реализация простой камеры.
 
Так тебе камеру нормально сделать или кватернионы объяснить?
Кватернионы отлично объяснены тут http://www.gamedev.ru/users/wat/articles/quaternions

Данил 14.11.2007 19:35

И то и то ;)

Я сделал перемещение.. то есть ко всем координатам объектов я прибавлял х камеры... и так же к у... он я 100% уверен, что неправильно...

И как сделать обзор? о_О

Посмотрел я его.... вообще текстурить-то можно?
Кто-нибудь пользовался OpenGL через BlitzMax ?)

Сколько вопросов...

Pixel 14.11.2007 23:53

Re: Реализация простой камеры.
 
http://perso.club-internet.fr/gilles...e_Tutorial.zip - уроки от NeHe для BlitzMax ;)

Данил 14.11.2007 23:56

Re: Реализация простой камеры.
 
ээ.. надеюсь, это не те, что идут вместе с bmax...

сейчас скачаю... посмотрю...

jimon 15.11.2007 00:10

Re: Реализация простой камеры.
 
матрицы спасут мир ... ;)

Данил 15.11.2007 00:31

Re: Реализация простой камеры.
 
Скачал. Посмотрел.
Что эт? Во-первых ,требует какой-то модуль

Framework brl.blitzgl
Import brl.system

Пошарился - нигде нет.
Во-вторых, чтобы запустить, приходится менять многопараметров... а порой вообще не запускается...
К примеру:
bglCreateContext(ScreenWidth,ScreenHeight,ScreenDe pth,0,BGL_BACKBUFFER | BGL_DEPTHBUFFER)
GLGraphics(ScreenWidth,ScreenHeight,ScreenDepth,0, BGL_BACKBUFFER | BGL_DEPTHBUFFER)

bglSetMouseVisible False вообще надо убирать....

bglDrawText("Nehe lesson 5",10,24)
GLDrawText("Nehe lesson 5",10,24)

Это в первых примерах. А далее там уже через каждые 5 строчек надо что-то менять.. но поменять не получится... так как хз на что =)))

Зато в начальных уроках текстуру учат накладывать. Сейчас прочту, и наложу текстуру ! :crazy:

Pixel 15.11.2007 00:59

Re: Реализация простой камеры.
 
ХЗ, примеры наверное для какой-то ветхой версии BM, но несмотря на ето в них много полезного ;)

Данил 15.11.2007 01:00

Re: Реализация простой камеры.
 
Посмотрел все примеры. Удалось исправить 70% примерно.. гы, а так ни че.. и тени есть, и физика... мну нравтся ^_^
Осталось осмыслить все это =)))

Pixel 15.11.2007 01:14

Re: Реализация простой камеры.
 
Когда исправиш все выложи пожалуйста архивчик :)

Или там токо нужно приставку bgl менят на gl ?

XenuS 15.11.2007 09:28

Re: Реализация простой камеры.
 
эээ, а как ты сделал moveEntity? можешь кинуть, если не сложно=)))) а то я чего-то перепробовал все, что только можно, но двигается он не правильно в двиге....

Данил 15.11.2007 12:53

Re: Реализация простой камеры.
 
Function MoveEntity (cube:TypeCube, x:Float,y:Float,z:Float)
Cube.X:+x/
Cube.Y:+y/
Cube.Z:+z/
End Function

ВотЪ ))) Cube.X=Cube.X+1
Есть объект. У каждого объекта свой x,y,z . Когда вызываем функцию MoveEntity, прибавляем к x объекту значение.. все просто ;)

Вот туториал : http://www.rapidshara.ru/17476

Я его передал... что смог, то и переделал...
Не работают :
13
17
28
32
33
34
39
41
...

Function SortArrayType(This:objects Ptr, level:Int
Function LoadTGA(Tex:textures Ptr, filename:String)
base=bglFixedFontBitmaps()
Local extensions:String=glGetString(GL_EXTENSIONS)

Вон на этих строчках.. че за Ptr ? он на них в несколькх примерах загибался...

dimanche13 15.11.2007 13:04

Re: Реализация простой камеры.
 
ptr - указатель

XenuS 15.11.2007 14:48

Re: Реализация простой камеры.
 
сорри за оффтоп, но по-моему же это не будет работать, если объект под углом расположен? допустим, у объекта угол по питчу=30....значит, если мы напишем MoveEntity(cube,0,0,1), то он переместиться должен не только по Z но и по Y....или я не прав?

Данил 15.11.2007 15:23

Re: Реализация простой камеры.
 
о_О

незнаю, мож у тя не так, я использую
glTranslatef x,y,z
glRotatef RotateSpeed,RotateX,RotateY,RotateZ

У меня все норм О_О даже если объект повернут....


Часовой пояс GMT +4, время: 17:14.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot