diff options
| author | lonkaars <loek@pipeframe.xyz> | 2024-05-16 17:20:59 +0200 | 
|---|---|---|
| committer | lonkaars <loek@pipeframe.xyz> | 2024-05-16 17:20:59 +0200 | 
| commit | 7dd5ef4d6318582c4ece7ef74f6329c7b84de9df (patch) | |
| tree | 08c0906cff58e4028faf88f9a2cb4140505bdd50 /main.c | |
| parent | c0a4cd2aa8dce443a7d54232cada0ee57cdec463 (diff) | |
fragment shader demo working :tada:
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 28 | 
1 files changed, 14 insertions, 14 deletions
@@ -8,18 +8,19 @@  #include "hello_vert.h"  #include "hello_frag.h" -void prepare_tri(GLuint* VBO, GLuint* VAO) { +void prepare_tri() {  	const float vertices[] = { -		-0.5f, -0.5f, 0.0f, -		0.5f, -0.5f, 0.0f, -		0.0f,  0.5f, 0.0f, +		-1, -1, 0, +		3, -1, 0, +		-1, 3, 0,  	};  	// initialize vertex {buffer,attribute} object buffers -	glGenBuffers(1, VBO); -	glBindBuffer(GL_ARRAY_BUFFER, *VBO); -	glGenBuffers(1, VAO); -	glBindVertexArray(*VAO); +	GLuint VBO, VAO; +	glGenBuffers(1, &VBO); +	glBindBuffer(GL_ARRAY_BUFFER, VBO); +	glGenVertexArrays(1, &VAO); +	glBindVertexArray(VAO);  	// copy vertex data into VBO  	glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); @@ -27,6 +28,10 @@ void prepare_tri(GLuint* VBO, GLuint* VAO) {  	// set VAO pointers  	glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0);  	glEnableVertexAttribArray(0); + +	// draw (only) this triangle +	glBindBuffer(GL_ARRAY_BUFFER, 0); +	glBindVertexArray(VAO);  }  int main(int argc, char** argv) { @@ -49,8 +54,7 @@ int main(int argc, char** argv) {  	glewInit();  	// create single triangle -	GLuint VBO, VAO; -	prepare_tri(&VBO, &VAO); +	prepare_tri();  	// prepare shaders  	GLuint shader = link_shaders( @@ -62,11 +66,7 @@ int main(int argc, char** argv) {  	while (!glfwWindowShouldClose(window)) {  		glfwPollEvents(); -		glClearColor(1.f, 0.f, 1.f, 1.0f); -		glClear(GL_COLOR_BUFFER_BIT); -  		glUseProgram(shader); -		glBindVertexArray(VAO);  		glDrawArrays(GL_TRIANGLES, 0, 3);  		glfwSwapBuffers(window);  |