Skip to main content

No project description provided

Project description

glnext

Example

import glnext
from glnext_compiler import glsl
from PIL import Image

instance = glnext.instance()

framebuffer = instance.framebuffer((512, 512))

pipeline = framebuffer.render(
    vertex_shader=glsl('''
        #version 450
        #pragma shader_stage(vertex)

        layout (location = 0) in vec2 in_vert;
        layout (location = 1) in vec3 in_color;

        layout (location = 0) out vec3 out_color;

        void main() {
            gl_Position = vec4(in_vert, 0.0, 1.0);
            out_color = in_color;
        }
    '''),
    fragment_shader=glsl('''
        #version 450
        #pragma shader_stage(fragment)

        layout (location = 0) in vec3 in_color;
        layout (location = 0) out vec4 out_color;

        void main() {
            out_color = vec4(in_color, 1.0);
        }
    '''),
    vertex_format='2f 3f',
    vertex_count=3,
)

pipeline['vertex_buffer'].write(glnext.pack([
    -0.5, -0.5, 0.0, 0.0, 1.0,
    0.5, -0.5, 0.0, 1.0, 0.0,
    0.0, 0.5, 1.0, 0.0, 0.0,
]))

instance.run()
data = framebuffer.output[0].read()
Image.frombuffer('RGBA', (512, 512), data, 'raw', 'RGBA', 0, -1).show()

Install

pip install glnext

Windows

With up2date drivers the vulkan runtime binaries should already be on your system. Install the vulkan-sdk if needed.

Linux

Install the vulkan-sdk.

apt-get install libx11-dev

Without GPU

This project is compatible with swiftshader. The CI also runs on pure CPU. (Dockerfile)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for glnext, version 0.7.0
Filename, size File type Python version Upload date Hashes
Filename, size glnext-0.7.0.tar.gz (115.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page