lattepanda-mu-ultra-gpu-opengl-triangle-8.ino

LattePanda Mu Ultra: x86 Compute Module for Embedded AI · File : lattepanda-mu-ultra-gpu-opengl-triangle-8.ino · Language : python · Use case : Afficher un triangle OpenGL utilisant le GPU Intel Arc via le pilote XE dans une fenêtre GLFW.

Python demo using PyOpenGL and GLFW to verify 3D graphics rendering on the integrated Intel Arc GPU (Lunar Lake).

Hardware: LattePanda Mu Ultra (Intel Arc GPU). Software: Ubuntu 24.04+, 'xe' graphics driver installed. Python 3, 'pyopengl', 'glfw'. X11 or Wayland graphical session required. Execution: python script.py.

lattepanda-mu-ultra-gpu-opengl-triangle-8.ino

import glfw
from OpenGL.GL import *
from OpenGL.GLU import *
import ctypes

def init():
    if not glfw.init():
        return None
    # Essayer de créer une fenêtre avec contexte OpenGL 4.6 (supporté par Arc)
    glfw.window_hint(glfw.CONTEXT_VERSION_MAJOR, 4)
    glfw.window_hint(glfw.CONTEXT_VERSION_MINOR, 6)
    glfw.window_hint(glfw.OPENGL_PROFILE, glfw.OPENGL_CORE_PROFILE)
    
    window = glfw.create_window(800, 600, "LattePanda Mu Ultra - Intel Arc OpenGL", None, None)
    if not window:
        glfw.terminate()
        return None
    
    glfw.make_context_current(window)
    print("Renderer:", glGetString(GL_RENDERER).decode())
    print("OpenGL Version:", glGetString(GL_VERSION).decode())
    return window

def draw():
    glClear(GL_COLOR_BUFFER_BIT)
    glColor3f(0.4, 0.8, 0.2) # Vert clair
    glBegin(GL_TRIANGLES)
    glVertex2f(0.0, 0.5)
    glVertex2f(-0.5, -0.5)
    glVertex2f(0.5, -0.5)
    glEnd()

def main():
    window = init()
    if not window:
        return

    while not glfw.window_should_close(window):
        glfw.poll_events()
        draw()
        glfw.swap_buffers(window)
        glfw.swap_interval(1) # VSync pour éviter le tearing
    
    glfw.terminate()

if __name__ == "__main__":
    main()

← Back to the board