Skip to content

Instantly share code, notes, and snippets.

@bvssvni
Created September 19, 2014 15:10
Show Gist options
  • Save bvssvni/dcf2be1787dfbdb123a9 to your computer and use it in GitHub Desktop.
Save bvssvni/dcf2be1787dfbdb123a9 to your computer and use it in GitHub Desktop.
0 CGLSetOption(pname = kCGLGOUseErrorHandler, param = 0) = kCGLNoError
1 CGLChoosePixelFormat(attribs = {kCGLPFAOpenGLProfile, kCGLOGLPVersion_3_2_Core, kCGLPFAColorSize, 32, kCGLPFADepthSize, 16, kCGLPFADoubleBuffer, kCGLPFADisplayMask, 4, 0}, pix = &0x7f86ead063c0, npix = &2) = kCGLNoError
2 CGLSetOption(pname = kCGLGOUseErrorHandler, param = 0) = kCGLNoError
3 CGLCreateContext(pix = 0x7f86ead063c0, share = NULL, ctx = &0x7f86eb811400) = kCGLNoError
4 CGLSetParameter(ctx = 0x7f86eb811400, pname = 1236, params = &-355444128) = kCGLNoError
5 CGLReleasePixelFormat(pix = 0x7f86ead063c0)
6 CGLSetSurface(ctx = 0x7f86eb811400, cid = 0x125cf, wid = 39922, sid = 744855519) = kCGLNoError
8 CGLUpdateContext(ctx = 0x7f86eb811400) = kCGLNoError
9 CGLSetCurrentContext(ctx = 0x7f86eb811400) = kCGLNoError
10 glViewport(x = 0, y = 0, width = 300, height = 300)
11 glScissor(x = 0, y = 0, width = 300, height = 300)
17 glGetIntegerv(pname = GL_NUM_EXTENSIONS, params = &40)
58 glGetIntegerv(pname = GL_MAX_DRAW_BUFFERS, params = &8)
59 glGetIntegerv(pname = GL_MAX_TEXTURE_SIZE, params = &8192)
60 glGetIntegerv(pname = GL_MAX_VERTEX_ATTRIBS, params = &16)
61 glGenVertexArrays(n = 1, arrays = &1)
62 glGenFramebuffers(n = 1, framebuffers = &1)
63 glGenFramebuffers(n = 1, framebuffers = &2)
64 glGenTextures(n = 1, textures = &1)
65 glBindTexture(target = GL_TEXTURE_2D, texture = 1)
66 glTexStorage2D(target = GL_TEXTURE_2D, levels = 1, internalformat = GL_RGBA8, width = 144, height = 144)
67 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_BASE_LEVEL, param = 0)
68 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_MAX_LEVEL, param = 1)
69 glBindTexture(target = GL_TEXTURE_2D, texture = 1)
70 glTexSubImage2D(target = GL_TEXTURE_2D, level = 0, xoffset = 0, yoffset = 0, width = 144, height = 144, format = GL_RGBA, type = GL_UNSIGNED_BYTE, pixels = blob(82944))
71 glCreateShader(type = GL_VERTEX_SHADER) = 1
72 glShaderSource(shader = 1, count = 1, string = &"
#version 150 core
in vec2 pos;
in vec4 color;
out vec4 v_Color;
void main() {
v_Color = color;
gl_Position = vec4(pos, 0.0, 1.0);
}
", length = &141)
73 glCompileShader(shader = 1)
74 glGetShaderiv(shader = 1, pname = GL_COMPILE_STATUS, params = &1)
75 glGetShaderiv(shader = 1, pname = GL_INFO_LOG_LENGTH, params = &0)
76 glCreateShader(type = GL_FRAGMENT_SHADER) = 2
77 glShaderSource(shader = 2, count = 1, string = &"
#version 150 core
in vec4 v_Color;
out vec4 o_Color;
void main() {
o_Color = v_Color;
}
", length = &93)
78 glCompileShader(shader = 2)
79 glGetShaderiv(shader = 2, pname = GL_COMPILE_STATUS, params = &1)
80 glGetShaderiv(shader = 2, pname = GL_INFO_LOG_LENGTH, params = &0)
81 glCreateProgram() = 3
82 glAttachShader(program = 3, shader = 1)
83 glAttachShader(program = 3, shader = 2)
84 glBindAttribLocation(program = 3, index = 0, name = "color")
85 glBindAttribLocation(program = 3, index = 1, name = "pos")
86 glLinkProgram(program = 3)
87 glGetProgramiv(program = 3, pname = GL_LINK_STATUS, params = &1)
88 glGetProgramiv(program = 3, pname = GL_INFO_LOG_LENGTH, params = &0)
89 glGetProgramiv(program = 3, pname = GL_ACTIVE_UNIFORMS, params = &0)
90 glGetActiveUniformsiv(program = 3, uniformCount = 0, uniformIndices = {}, pname = GL_UNIFORM_BLOCK_INDEX, params = 0x1)
91 glGetProgramiv(program = 3, pname = GL_ACTIVE_UNIFORM_MAX_LENGTH, params = &0)
92 glGetProgramiv(program = 3, pname = GL_ACTIVE_ATTRIBUTES, params = &2)
93 glGetProgramiv(program = 3, pname = GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, params = &6)
94 glGetActiveAttrib(program = 3, index = 0, bufSize = 6, length = &5, size = &1, type = &GL_FLOAT_VEC4, name = "color")
95 glGetAttribLocation(program = 3, name = "color") = 0
96 glGetActiveAttrib(program = 3, index = 1, bufSize = 6, length = &3, size = &1, type = &GL_FLOAT_VEC2, name = "pos")
97 glGetAttribLocation(program = 3, name = "pos") = 1
98 glGetProgramiv(program = 3, pname = GL_ACTIVE_UNIFORM_BLOCKS, params = &0)
99 glCreateShader(type = GL_VERTEX_SHADER) = 4
100 glShaderSource(shader = 4, count = 1, string = &"
#version 150 core
in vec2 pos;
in vec4 color;
in vec2 uv;
uniform sampler2D s_texture;
out vec4 v_Color;
out vec2 v_UV;
void main() {
v_UV = uv;
v_Color = color;
gl_Position = vec4(pos, 0.0, 1.0);
}
", length = &212)
101 glCompileShader(shader = 4)
102 glGetShaderiv(shader = 4, pname = GL_COMPILE_STATUS, params = &1)
103 glGetShaderiv(shader = 4, pname = GL_INFO_LOG_LENGTH, params = &0)
104 glCreateShader(type = GL_FRAGMENT_SHADER) = 5
105 glShaderSource(shader = 5, count = 1, string = &"
#version 150 core
out vec4 o_Color;
uniform sampler2D s_texture;
in vec2 v_UV;
in vec4 v_Color;
void main()
{
o_Color = texture(s_texture, v_UV) * v_Color;
}
", length = &163)
106 glCompileShader(shader = 5)
107 glGetShaderiv(shader = 5, pname = GL_COMPILE_STATUS, params = &1)
108 glGetShaderiv(shader = 5, pname = GL_INFO_LOG_LENGTH, params = &0)
109 glCreateProgram() = 6
110 glAttachShader(program = 6, shader = 4)
111 glAttachShader(program = 6, shader = 5)
112 glBindAttribLocation(program = 6, index = 0, name = "uv")
113 glBindAttribLocation(program = 6, index = 1, name = "color")
114 glBindAttribLocation(program = 6, index = 2, name = "pos")
115 glLinkProgram(program = 6)
116 glGetProgramiv(program = 6, pname = GL_LINK_STATUS, params = &1)
117 glGetProgramiv(program = 6, pname = GL_INFO_LOG_LENGTH, params = &0)
118 glGetProgramiv(program = 6, pname = GL_ACTIVE_UNIFORMS, params = &1)
119 glGetActiveUniformsiv(program = 6, uniformCount = 1, uniformIndices = &0, pname = GL_UNIFORM_BLOCK_INDEX, params = 0x10d40b080)
120 glGetProgramiv(program = 6, pname = GL_ACTIVE_UNIFORM_MAX_LENGTH, params = &10)
121 glGetActiveUniform(program = 6, index = 0, bufSize = 10, length = &9, size = &1, type = &GL_SAMPLER_2D, name = "s_texture")
122 glGetUniformLocation(program = 6, name = "s_texture") = 0
123 glGetProgramiv(program = 6, pname = GL_ACTIVE_ATTRIBUTES, params = &3)
124 glGetProgramiv(program = 6, pname = GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, params = &6)
125 glGetActiveAttrib(program = 6, index = 0, bufSize = 6, length = &2, size = &1, type = &GL_FLOAT_VEC2, name = "uv")
126 glGetAttribLocation(program = 6, name = "uv") = 0
127 glGetActiveAttrib(program = 6, index = 1, bufSize = 6, length = &5, size = &1, type = &GL_FLOAT_VEC4, name = "color")
128 glGetAttribLocation(program = 6, name = "color") = 1
129 glGetActiveAttrib(program = 6, index = 2, bufSize = 6, length = &3, size = &1, type = &GL_FLOAT_VEC2, name = "pos")
130 glGetAttribLocation(program = 6, name = "pos") = 2
131 glGetProgramiv(program = 6, pname = GL_ACTIVE_UNIFORM_BLOCKS, params = &0)
132 glGenBuffers(n = 1, buffer = &1)
133 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 1)
134 glBufferData(target = GL_ARRAY_BUFFER, size = 8192, data = NULL, usage = GL_DYNAMIC_DRAW)
135 glGenBuffers(n = 1, buffer = &2)
136 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 2)
137 glBufferData(target = GL_ARRAY_BUFFER, size = 16384, data = NULL, usage = GL_DYNAMIC_DRAW)
138 glGenBuffers(n = 1, buffer = &3)
139 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 3)
140 glBufferData(target = GL_ARRAY_BUFFER, size = 8192, data = NULL, usage = GL_DYNAMIC_DRAW)
141 glGenSamplers(count = 1, samplers = &1)
142 glSamplerParameteri(sampler = 1, pname = GL_TEXTURE_MIN_FILTER, param = GL_LINEAR_MIPMAP_LINEAR)
143 glSamplerParameteri(sampler = 1, pname = GL_TEXTURE_MAG_FILTER, param = GL_LINEAR)
144 glSamplerParameteri(sampler = 1, pname = GL_TEXTURE_WRAP_S, param = GL_CLAMP_TO_EDGE)
145 glSamplerParameteri(sampler = 1, pname = GL_TEXTURE_WRAP_T, param = GL_CLAMP_TO_EDGE)
146 glSamplerParameteri(sampler = 1, pname = GL_TEXTURE_WRAP_R, param = GL_CLAMP_TO_EDGE)
147 glSamplerParameterf(sampler = 1, pname = GL_TEXTURE_LOD_BIAS, param = 0)
148 glSamplerParameterf(sampler = 1, pname = GL_TEXTURE_MIN_LOD, param = -1000)
149 glSamplerParameterf(sampler = 1, pname = GL_TEXTURE_MAX_LOD, param = 1000)
150 glGenTextures(n = 1, textures = &2)
151 glBindTexture(target = GL_TEXTURE_2D, texture = 2)
152 glTexStorage2D(target = GL_TEXTURE_2D, levels = 1, internalformat = GL_RGBA8, width = 1, height = 1)
153 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_BASE_LEVEL, param = 0)
154 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_MAX_LEVEL, param = 1)
155 glBindTexture(target = GL_TEXTURE_2D, texture = 2)
156 glTexSubImage2D(target = GL_TEXTURE_2D, level = 0, xoffset = 0, yoffset = 0, width = 1, height = 1, format = GL_RGBA, type = GL_UNSIGNED_BYTE, pixels = blob(4))
157 glUseProgram(program = 0)
159 glBindVertexArray(array = 0)
161 glBindBuffer(target = GL_ELEMENT_ARRAY_BUFFER, buffer = 0)
163 glBindFramebuffer(target = GL_DRAW_FRAMEBUFFER, framebuffer = 0)
165 glBindFramebuffer(target = GL_READ_FRAMEBUFFER, framebuffer = 0)
167 glFrontFace(mode = GL_CCW)
168 glDisable(cap = GL_CULL_FACE)
169 glPolygonMode(face = GL_FRONT_AND_BACK, mode = GL_FILL)
170 glDisable(cap = GL_POLYGON_OFFSET_FILL)
172 glViewport(x = 0, y = 0, width = 0, height = 0)
174 glDisable(cap = GL_SCISSOR_TEST)
176 glDisable(cap = GL_STENCIL_TEST)
177 glDisable(cap = GL_DEPTH_TEST)
179 glDisable(cap = GL_BLEND)
181 glColorMask(red = GL_TRUE, green = GL_TRUE, blue = GL_TRUE, alpha = GL_TRUE)
183 glViewport(x = 0, y = 0, width = 300, height = 300)
185 glColorMask(red = GL_TRUE, green = GL_TRUE, blue = GL_TRUE, alpha = GL_TRUE)
186 glClearColor(red = 1, green = 1, blue = 1, alpha = 1)
187 glClear(mask = GL_COLOR_BUFFER_BIT)
189 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 1)
190 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 48, data = blob(48))
192 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 2)
193 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 96, data = blob(96))
195 glUseProgram(program = 3)
197 glBindVertexArray(array = 1)
199 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 2)
200 glVertexAttribPointer(index = 0, size = 4, type = GL_FLOAT, normalized = GL_FALSE, stride = 16, pointer = NULL)
201 glEnableVertexAttribArray(index = 0)
202 glVertexAttribDivisor(index = 0, divisor = 0)
204 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 1)
205 glVertexAttribPointer(index = 1, size = 2, type = GL_FLOAT, normalized = GL_FALSE, stride = 8, pointer = NULL)
206 glEnableVertexAttribArray(index = 1)
207 glVertexAttribDivisor(index = 1, divisor = 0)
209 glDrawArrays(mode = GL_TRIANGLES, first = 0, count = 6)
211 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 1)
212 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 48, data = blob(48))
214 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 2)
215 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 96, data = blob(96))
217 glEnable(cap = GL_BLEND)
218 glBlendEquationSeparate(modeRGB = GL_FUNC_ADD, modeAlpha = GL_FUNC_ADD)
219 glBlendFuncSeparate(sfactorRGB = GL_SRC_ALPHA, dfactorRGB = GL_ONE_MINUS_SRC_ALPHA, sfactorAlpha = GL_ONE, dfactorAlpha = GL_ZERO)
220 glBlendColor(red = 1, green = 1, blue = 1, alpha = 1)
222 glDrawArrays(mode = GL_TRIANGLES, first = 0, count = 6)
224 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 1)
225 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 48, data = blob(48))
227 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 2)
228 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 96, data = blob(96))
230 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 3)
231 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 48, data = blob(48))
233 glUseProgram(program = 6)
235 glUniform1i(location = 0, v0 = 0)
237 glActiveTexture(texture = GL_TEXTURE0)
238 glBindTexture(target = GL_TEXTURE_2D, texture = 1)
239 glBindSampler(unit = 0, sampler = 1)
241 glDisable(cap = GL_BLEND)
243 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 3)
244 glVertexAttribPointer(index = 0, size = 2, type = GL_FLOAT, normalized = GL_FALSE, stride = 8, pointer = NULL)
245 glEnableVertexAttribArray(index = 0)
246 glVertexAttribDivisor(index = 0, divisor = 0)
248 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 2)
249 glVertexAttribPointer(index = 1, size = 4, type = GL_FLOAT, normalized = GL_FALSE, stride = 16, pointer = NULL)
250 glEnableVertexAttribArray(index = 1)
251 glVertexAttribDivisor(index = 1, divisor = 0)
253 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 1)
254 glVertexAttribPointer(index = 2, size = 2, type = GL_FLOAT, normalized = GL_FALSE, stride = 8, pointer = NULL)
255 glEnableVertexAttribArray(index = 2)
256 glVertexAttribDivisor(index = 2, divisor = 0)
258 glDrawArrays(mode = GL_TRIANGLES, first = 0, count = 6)
260 CGLFlushDrawable(ctx = 0x7f86eb811400) = kCGLNoError
261 glUseProgram(program = 0)
263 glBindVertexArray(array = 0)
265 glBindBuffer(target = GL_ELEMENT_ARRAY_BUFFER, buffer = 0)
267 glBindFramebuffer(target = GL_DRAW_FRAMEBUFFER, framebuffer = 0)
269 glBindFramebuffer(target = GL_READ_FRAMEBUFFER, framebuffer = 0)
271 glFrontFace(mode = GL_CCW)
272 glDisable(cap = GL_CULL_FACE)
273 glPolygonMode(face = GL_FRONT_AND_BACK, mode = GL_FILL)
274 glDisable(cap = GL_POLYGON_OFFSET_FILL)
276 glViewport(x = 0, y = 0, width = 0, height = 0)
278 glDisable(cap = GL_SCISSOR_TEST)
280 glDisable(cap = GL_STENCIL_TEST)
281 glDisable(cap = GL_DEPTH_TEST)
283 glDisable(cap = GL_BLEND)
285 glColorMask(red = GL_TRUE, green = GL_TRUE, blue = GL_TRUE, alpha = GL_TRUE)
287 glViewport(x = 0, y = 0, width = 300, height = 300)
289 glColorMask(red = GL_TRUE, green = GL_TRUE, blue = GL_TRUE, alpha = GL_TRUE)
290 glClearColor(red = 1, green = 1, blue = 1, alpha = 1)
291 glClear(mask = GL_COLOR_BUFFER_BIT)
293 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 1)
294 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 48, data = blob(48))
296 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 2)
297 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 96, data = blob(96))
299 glUseProgram(program = 3)
301 glBindVertexArray(array = 1)
303 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 2)
304 glVertexAttribPointer(index = 0, size = 4, type = GL_FLOAT, normalized = GL_FALSE, stride = 16, pointer = NULL)
305 glEnableVertexAttribArray(index = 0)
306 glVertexAttribDivisor(index = 0, divisor = 0)
308 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 1)
309 glVertexAttribPointer(index = 1, size = 2, type = GL_FLOAT, normalized = GL_FALSE, stride = 8, pointer = NULL)
310 glEnableVertexAttribArray(index = 1)
311 glVertexAttribDivisor(index = 1, divisor = 0)
313 glDrawArrays(mode = GL_TRIANGLES, first = 0, count = 6)
315 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 1)
316 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 48, data = blob(48))
318 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 2)
319 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 96, data = blob(96))
321 glEnable(cap = GL_BLEND)
322 glBlendEquationSeparate(modeRGB = GL_FUNC_ADD, modeAlpha = GL_FUNC_ADD)
323 glBlendFuncSeparate(sfactorRGB = GL_SRC_ALPHA, dfactorRGB = GL_ONE_MINUS_SRC_ALPHA, sfactorAlpha = GL_ONE, dfactorAlpha = GL_ZERO)
324 glBlendColor(red = 1, green = 1, blue = 1, alpha = 1)
326 glDrawArrays(mode = GL_TRIANGLES, first = 0, count = 6)
328 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 1)
329 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 48, data = blob(48))
331 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 2)
332 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 96, data = blob(96))
334 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 3)
335 glBufferSubData(target = GL_ARRAY_BUFFER, offset = 0, size = 48, data = blob(48))
337 glUseProgram(program = 6)
339 glUniform1i(location = 0, v0 = 0)
341 glActiveTexture(texture = GL_TEXTURE0)
342 glBindTexture(target = GL_TEXTURE_2D, texture = 1)
343 glBindSampler(unit = 0, sampler = 1)
345 glDisable(cap = GL_BLEND)
347 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 3)
348 glVertexAttribPointer(index = 0, size = 2, type = GL_FLOAT, normalized = GL_FALSE, stride = 8, pointer = NULL)
349 glEnableVertexAttribArray(index = 0)
350 glVertexAttribDivisor(index = 0, divisor = 0)
352 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 2)
353 glVertexAttribPointer(index = 1, size = 4, type = GL_FLOAT, normalized = GL_FALSE, stride = 16, pointer = NULL)
354 glEnableVertexAttribArray(index = 1)
355 glVertexAttribDivisor(index = 1, divisor = 0)
357 glBindBuffer(target = GL_ARRAY_BUFFER, buffer = 1)
358 glVertexAttribPointer(index = 2, size = 2, type = GL_FLOAT, normalized = GL_FALSE, stride = 8, pointer = NULL)
359 glEnableVertexAttribArray(index = 2)
360 glVertexAttribDivisor(index = 2, divisor = 0)
362 glDrawArrays(mode = GL_TRIANGLES, first = 0, count = 6)
364 CGLFlushDrawable(ctx = 0x7f86eb811400) = kCGLNoError
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment