Реализация простой камеры.
Решил я попытатся написать че-нить на OpenGL. OpenGL рулит.
Уже сделал несколько функций по работе с объектами (MoveEntity , RotateEntity , TurnEntity, translateEntity .. в обще б3д ^_^) . И сами объккты (пока кубики) . Вот уже сколько читаю на сайтах.... везде про какие-то кватернионы... как-то там сложно написано.. моему моску это не понять ^_^ объясните, как нормльно на бмаксе сделать камеру... вот не понимаю... И пример со свободным полетом и управлением с мыши... плиз... |
Re: Реализация простой камеры.
Так тебе камеру нормально сделать или кватернионы объяснить?
Кватернионы отлично объяснены тут http://www.gamedev.ru/users/wat/articles/quaternions |
И то и то ;)
Я сделал перемещение.. то есть ко всем координатам объектов я прибавлял х камеры... и так же к у... он я 100% уверен, что неправильно... И как сделать обзор? о_О Посмотрел я его.... вообще текстурить-то можно? Кто-нибудь пользовался OpenGL через BlitzMax ?) Сколько вопросов... |
Re: Реализация простой камеры.
http://perso.club-internet.fr/gilles...e_Tutorial.zip - уроки от NeHe для BlitzMax ;)
|
Re: Реализация простой камеры.
ээ.. надеюсь, это не те, что идут вместе с bmax...
сейчас скачаю... посмотрю... |
Re: Реализация простой камеры.
матрицы спасут мир ... ;)
|
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: |
Re: Реализация простой камеры.
ХЗ, примеры наверное для какой-то ветхой версии BM, но несмотря на ето в них много полезного ;)
|
Re: Реализация простой камеры.
Посмотрел все примеры. Удалось исправить 70% примерно.. гы, а так ни че.. и тени есть, и физика... мну нравтся ^_^
Осталось осмыслить все это =))) |
Re: Реализация простой камеры.
Когда исправиш все выложи пожалуйста архивчик :)
Или там токо нужно приставку bgl менят на gl ? |
Re: Реализация простой камеры.
эээ, а как ты сделал moveEntity? можешь кинуть, если не сложно=)))) а то я чего-то перепробовал все, что только можно, но двигается он не правильно в двиге....
|
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 ? он на них в несколькх примерах загибался... |
Re: Реализация простой камеры.
ptr - указатель
|
Re: Реализация простой камеры.
сорри за оффтоп, но по-моему же это не будет работать, если объект под углом расположен? допустим, у объекта угол по питчу=30....значит, если мы напишем MoveEntity(cube,0,0,1), то он переместиться должен не только по Z но и по Y....или я не прав?
|
Re: Реализация простой камеры.
о_О
незнаю, мож у тя не так, я использую glTranslatef x,y,z glRotatef RotateSpeed,RotateX,RotateY,RotateZ У меня все норм О_О даже если объект повернут.... |
Часовой пояс GMT +4, время: 20:29. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot