alnitak / flutter_opengl

A Flutter OpenGL ES plugin using a Texture() widget. Supports Android, Linux and Windows. Many shaders from ShaderToy.com can be copy/pasted
Other
173 stars 20 forks source link

Sincerely seeking advice, How to replace the flutter default program & shaders on linux? #8

Open huxiaoluder opened 4 months ago

huxiaoluder commented 4 months ago
TextureGL *
texture_gl_new(VideoRenderer *renderer, guint32 width, guint32 height) {
    TextureGL *self = TEXTURE_GL(g_object_new(texture_gl_get_type(), NULL));
    self->renderer = renderer;
    self->width = width;
    self->height = height;

    auto vertexShader = loadShader(GL_VERTEX_SHADER, vertShaderSource);
    auto fragmentShader = loadShader(GL_FRAGMENT_SHADER, fragShaderSource);
    self->program = linkProgram(vertexShader, fragmentShader);

    glUseProgram(self->program);
    glDeleteShader(vertexShader);
    glDeleteShader(fragmentShader);

    self->attrBuffer = bindFullViewportAttrBuffer();

    self->textureId = generateEmptyTexture2D();
    self->framebufferId = generateFrameBufferTexture2D(self->textureId);

    return self;
}

This is my code, but not invalid...