forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=108)
-   -   Help:::OpenGl!!! (http://forum.boolean.name/showthread.php?t=5404)

Fla 25.12.2007 23:53

Re: Help:::OpenGl!!!
 
pmg.org.ru/nehe
Это так - почитать на досуге.

glBegin() - начать отрисовку
Параметр один.
GL_TRIANGLES - отрисовывает каждые 3 вертекса как треугольник
GL_POLYGON - отрисовка полигона по заданным вертексам
GL_QUADS - отрисовывает каждые 4 вертекса как четырехугольник
GL_LINES - отрисовывает каждые 2 вертекса как линию
GL_LINE_STRIP - отрисовывает первые 2 вертекса как линию, а дальше линию из 2 вертекса в 3, потом из 3 в 4
GL_LINE_LOOP - тоже самое только на последнем вертексе конец не наступает - рисуется линии до первого вертекса
GL_TRIANGLE_STRIP - тоже самое, что GL_LINE_STRIP но для треугольников. 1-2-3 вертексы, потом 2-3-4 вертексы и тд
GL_TRIANGLE_LOOP - тоже самое что и предыдущее, только если в предыдущем последний треугольник был с вертексами (n-2)-(n-1)-n, то здесь - (n-1)-n-1. Это штукой очень удобно всякие элипсы рисовать.

glEnd() - соответственно закончить отрисовку

HolyDel 26.12.2007 09:27

Re: Help:::OpenGl!!!
 
GL_POLYGON - рисует многоугольник. между glBegin() / glEnd() задаются его вершины.

забыл еще два важных: GL_TRIANGLE_STRIP - создание ленты триугольников
и GL_TRIANGLE_FAN - создание веера триугольников.

Fla 26.12.2007 11:39

Re: Help:::OpenGl!!!
 
Да, точно. Пардон.

*Исправил.

zheland 01.03.2008 20:31

Ответ: Help:::OpenGl!!!
 
У меня проблеммки!:rolleyes:
Код:


SuperStrict
 
Global ScreenWidth:Int=800
Global ScreenHeight:Int=600
Global ScreenDepth:Int=32
 
GLGraphics(ScreenWidth,ScreenHeight,ScreenDepth,0,GL_BACKBUFFER|GL_DEPTHBUFFER)

Жму выполнить и вдруг получаю сообщение...
От: BlitzMax Application
Цитата:

Complite Error
Identifier 'BGL_BACKBUFFER' not found
Коротко: :SOS:

Черный крыс 01.03.2008 21:32

Ответ: Help:::OpenGl!!!
 
Установи бэк-буфер.

забыл название функции....смотри в хелпе по ОГЛ.

dimanche13 01.03.2008 21:37

Ответ: Help:::OpenGl!!!
 
GRAPHICS_BACKBUFFER|GRAPHICS_DEPTHBUFFER

zheland 02.03.2008 13:08

Ответ: Help:::OpenGl!!!
 
Опять проблеммки!:rolleyes:
Код:


SuperStrict
 
Type Z3d_T_vertex
Field name : String
Field tp : Byte
Field wx : Float , wy : Float , wz : Float
Field tx : Int , ty : Int
Field cr : Byte , cg : Byte , cb : Byte , alp : Byte
End Type
 
Function Z3d_F_Create_vertex : Z3d_T_vertex ( )
Local ret : Z3d_T_vertex = New Z3d_T_vertex
Return ret
End Function
 
Type Z3d_T_polygon
Field name : String
Field texture : TPixmap
Field newtxt : Byte
Field tp : Byte
Field list : TList
Method Add_vertex ( vertex : Z3d_T_vertex )
ListAddLast ( list , vertex )
End Method
End Type
 
Function Z3d_F_Create_polygon : Z3d_T_polygon ( )
Local ret : Z3d_T_polygon = New Z3d_T_polygon
Return ret
End Function
 
Global vert : Z3d_T_vertex
Global poly : Z3d_T_polygon
vert = Z3d_F_Create_vertex ( )
vert.tp = 0
poly = Z3d_F_Create_polygon( )
poly.tp = 0
poly.Add_vertex ( vert )

Жму F5 и вдруг получаю сообщение...
От: BlitzMax Application
Цитата:

Unhandled Exception:Attempt to access field or method of Null object
Коротко: :SOS:

jimon 02.03.2008 13:48

Ответ: Help:::OpenGl!!!
 
drunnik
List.AddLast ( list , vertex )

Local ret : Z3d_T_polygon = New Z3d_T_polygon
ret.List = new TList
Return ret

слушай, ты хотя бы научился программировать сначала
а то на настолько тупые вопросы скоро надоест отвечать

zheland 09.04.2008 22:39

Ответ: Help:::OpenGl!!!
 
А можно-ли при окне OpenGl ( GlGraphics ) использовать
графические функции BlitzMax ( как при просто Graphics ),
что-то вроде SetRotation,GetRotation,SetScale И. Т. Д

dimanche13 09.04.2008 22:43

Ответ: Help:::OpenGl!!!
 
а попробовать не судьба? или может религия не позволяет?

zheland 10.04.2008 12:14

Ответ: Help:::OpenGl!!!
 
Я уже
Цитата:

попробовать
- неполучилось : вот и спрашиваю ? можно-ли
Цитата:

использовать
графические функции BlitzMax ( как при просто Graphics ),
что-то вроде SetRotation,GetRotation,SetScale И. Т. Д
какими-нибудь другими способами ( похожие OpenGl функции так хорошо не работают )
{ :@ - недоговорил }

HolyDel 10.04.2008 12:39

Ответ: Help:::OpenGl!!!
 
glRotatef
glScalef
glTranslatef

сначала перемещаем, потом поворачиваем, потом скалим.

zheland 18.04.2008 00:47

Ответ: Help:::OpenGl!!!
 
Что делают ети функции?:
Код:


Function glVertex4dv(v_:Double Ptr)
Function glVertex4fv(v_:Float Ptr)
Function glVertex4iv(v_:Int Ptr)
Function glVertex4sv(v_:Short Ptr)


johnk 18.04.2008 11:12

Ответ: Help:::OpenGl!!!
 
Спроси у хэлпа.

HolyDel 18.04.2008 11:22

Ответ: Help:::OpenGl!!!
 
это значитт что в параметре дается не одно значение - а целый массив.
смотри в сторону glDrawArrays.


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

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