Giter Club home page Giter Club logo

xgl's Introduction

XGL

xq's thin OpenGL wrapper

Example:

#include <xgl/all>
#include <glm/glm.hpp>

void some()
{
	xgl::program program;
	{
		xgl::shader vsh(GL_VERTEX_SHADER);
		xgl::shader fsh(GL_FRAGMENT_SHADER);

		vsh.source(R"glsl(#version 330
			layout(location = 0) in vec3 vPosition;

			uniform mat4 uTransform;

			void main() {
				gl_Position = uTransform * vec4(vPosition, 1.0);
			}

		)glsl");

		fsh.source(R"glsl(#version 330
			out vec4 color;

			void main() {
				color = vec4(1,0,0,1); // RED!
			}

		)glsl");

		vsh.compile();
		fsh.compile();

		program << vsh << fsh; // attach shaders
		program.link();
		program >> vsh >> fsh; // detach shaders
	}



	// Create vertex buffer with simple vertices
	xgl::buffer vertexBuffer;
	vertexBuffer.data({
		glm::vec3(1.0, 0.0, 0.0),
		glm::vec3(0.0, 1.0, 0.0),
		glm::vec3(0.0, 0.0, 1.0),
	});

	// Create index buffer with signed int data
	xgl::buffer indexBuffer;
	indexBuffer.data({ 0, 1, 2 });

	program.use();
	program.uniform("uTransform", glm::identity<glm::mat4>());
}

xgl's People

Contributors

ikskuh avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

gpuworks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.