File: opengl.rsd

package info (click to toggle)
ruby-sdl 2.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 1,548 kB
  • sloc: cpp: 7,598; ansic: 4,498; ruby: 2,246; makefile: 110; sh: 102
file content (166 lines) | stat: -rw-r--r-- 5,124 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
= OpenGLϢ
* ((<OpenGL Ϣǽ>))

* OpenGLϢ᥽å
TOC

== OpenGL Ϣǽ
Ruby/SDL ϡĤΥץåȥե(Linux/X11,
Win32, MacOS X, etc)ˤơ
OpenGL ƥȤȤȤǤޤ
ˤꡢOpenGLƱ
Ruby/SDLΥǥ٥Ƚ
ޡȤȤǤޤ

Ruby/SDL ΤΤ OpenGL ѤΥ᥽åɤäƤޤ
((<ruby-opengl|URL:http://ruby-opengl.rubyforge.org/>)), 
((<riko|URL:http://www.kumaryu.net/?(Ruby)+Riko>))
ʤɤѤƤ

=== 
OpenGL Ȥ Ruby/SDLνϡ
̤ Ruby/SDL Τ
礭ʰ㤤Ϥޤ3 Ĥΰ㤤ޤ
@[Screen.open]SDL::OPENGLϤɬפꡢ
@[GL.set_attr]Ȥä
Ĥ GL °(ǥץХåեΥ
ե졼ХåեΥ)ꤹɬפꡢ
ƺǸ˥֥ХåեȤʤ
@[Screen.open]SDL::DOUBLEBUF
ե饰ϤȤˤä((*ǤϤʤ*))
GL ȥӥ塼ȤȤƻꤹɬפޤ

EXAMPLE
  # ޤӥǥ֥ƥ
  SDL.init(SDL::INIT_VIDEO)
  # ĤΥӥǥ
  info = SDL::Screen.info 
  # ̤640x480˥å
  width = 640;
  height = 480;
  # ̤׵ᤷƤԥ뿼٤
  bpp = info.bpp
  # ǡOpenGL ɥΤ
  # ׵ᤵ줿ɥ°ꤷ
  # RGB ƥͥ *ʤȤ* 5 ӥåߤ
  # ޤʤȤ 16 ӥåȤΥǥץХåեߤ
  #
  # Ǹˤϥ֥Хåեɥ׵Ǥ롣
  # '1' ǥ֥Хåեͭˤʤꡢ
  # '0' ̵ˤʤ롣
  #
  # SDL::Screen.open ؤΥե饰ˤ
  # SDL::DOUBLEBUF Ȥʤա
  #  GL ȥӥ塼Ȥ˱ƶ
  # ɸ 2D blit ž˱ƶ롣
  SDL::GL.set_attr(SDL::GL::RED_SIZE, 5)
  SDL::GL.set_attr(SDL::GL::GREEN_SIZE, 5)
  SDL::GL.set_attr(SDL::GL::BLUE_SIZE, 5)
  SDL::GL.set_attr(SDL::GL::DEPTH_SIZE, 16)
  SDL::GL.set_attr(SDL::GL::DOUBLEBUFFER, 1)

  # SDL ե륹꡼ӥǥ⡼ɤˤ
  # OpenGL ɥ󶡤Ƥ褦׵ᤷ
  flags = SDL:;OPENGL | SDL::FULLSCREEN

  # ӥǥ⡼ɤꡣ
  SDL::Screen.open(width, height, bpp, flags)

=== GL°
@[GL.get_attr]  @[GL.set_attr] Ǥϰʲ°
Ǥޤ
* SDL::GL::RED_SIZE ե졼Хåե֥ͥΥ(ӥåȿ)
* SDL::GL::GREEN_SIZE ե졼ХåեХͥΥ(ӥåȿ)
* SDL::GL::BLUE_SIZE ե졼ХåեĥͥΥ(ӥåȿ)
* SDL::GL::ALPHA_SIZE ե졼ХåեΦͥΥ(ӥåȿ) 
* SDL::GL::DOUBLEBUFFER 0 ޤ 1 ͤꡢ֥Хåեͭޤ̵ˤ롣
* SDL::GL::BUFFER_SIZE ե졼ХåեΥ(ӥåȿ)
* SDL::GL::DEPTH_SIZE ǥץХåեΥ(ӥåȿ)
* SDL::GL::STENCIL_SIZE ƥ󥷥ХåեΥ(ӥåȿ)
* SDL::GL::ACCUM_RED_SIZE 졼Хåե֥ͥΥ(ӥåȿ)
* SDL::GL::ACCUM_GREEN_SIZE 졼ХåեХͥΥ(ӥåȿ) 
* SDL::GL::ACCUM_BLUE_SIZE 졼ХåեĥͥΥ(ӥåȿ)
* SDL::GL::ACCUM_ALPHA_SIZE 졼ХåեΦͥΥ(ӥåȿ)
* SDL::GL::STEREO 3DΩλϤ뤫ɤ(0 or 1)
* SDL::GL::MULTISAMPLEBUFFERS multisample anti-aliasing ΥХåե(ǥեȤ0̵̣)
* SDL::GL::MULTISAMPLESAMPLES multisample anti-aliasing ǻȤץ(ǥեȤ0̵ͭˤʤ 2  4 ꤹΤ)
* SDL::GL::ACCELERATED_VISUAL 1ꤹȥϡɥ졼0ȥեȥ󥰤롣ǥեȤȤɤ餫ѲǽʤۤѤ
* SDL::GL::SWAP_CONTROL Deprecated


=== 
ϴŪ OpenGL APIΤޤ޻Ȥޤ
֥Хåե̤ȤȤϡ
Хåե򴹤̤򹹿뤿
@[GL.swap_buffers]Ȥɬפޤ
OpenGL ǥ֥Хåե׵᤹뤿ˤϡ
@[GL.set_attr](SDL::GL::DOUBLEBUFFER, 1)
Ȥɬפꡢºݤ줿ɤǧ뤿
@[GL.get_attr](SDL::GL::DOUBLEBUFFER)
Ȥޤ

== Methods
%%%
NAME get_attr
MOD GL
TYPE .
PURPOSE ü SDL/OpenGL °ͤޤ
RVAL Integer

PROTO
get_attr(attr)
getAttr(attr)

DESC
((<OpenGL°|GL°>)) attr ֤ͤޤ
ϡ@[Screen#open]θƤӽФθˡʤλꤷ
°̤˥åȤ줿ɤåΤͭ
Ǥ

EXCEPTION *
SEEALSO
GL.set_attr

%%
NAME set_attr
MOD GL
TYPE .
PURPOSE ü SDL/OpenGL °򥻥åȤޤ

PROTO
set_attr(attr, val)
setAttr(attr, val)

DESC
OpenGL((<°|GL°>)) attr  val ˥åȤޤ
åȤ°ϡ@[Screen.open]
θƤӽФޤǤͭˤʤޤ
@[Screen.open]θƤӽФθϡ@[GL.get_attr]
Ȥäͤå٤Ǥ

EXCEPTION *
NOTES
OpenGL ӥǥ⡼ɤ򥻥åȤ
֥Хåեͭˤ뤿ˤ
SDL;;DOUBLEBUF ɬפǤϤޤ
֥Хåե SDL::GL::DOUBLEBUFFER °ȤȤ
ͭޤ̵ˤʤޤ

SEEALSO
GL.get_attr

%%
NAME swap_buffers
MOD GL
TYPE .
PURPOSE OpenGL Υե졼Хåեؤޤ/ɽ򹹿ޤ
PROTO
swap_buffers()
swapBuffers()

DESC
֥ХåեݡȤƤ OpenGL ΥХåեؤޤ

SEEALSO
GL.set_attr
GL::Screen.open