PicoGL

User Guide

  • Installation
    • Prerequisites
    • Platform-Specific Requirements
      • Windows
      • macOS
      • Linux (Ubuntu/Debian)
      • Linux (CentOS/RHEL/Fedora)
    • Installation Methods
      • From PyPI (Recommended) *Coming Soon!
      • From Source
      • From Conda *Coming Soon!
    • Dependencies
      • Core Dependencies
      • Optional Dependencies
      • Development Dependencies
    • Installation Verification
    • Troubleshooting
      • Common Issues
      • macOS Specific Issues
      • Windows Specific Issues
      • Linux Specific Issues
    • Getting Help
    • System Information
  • Quick Start Guide
    • Prerequisites
    • Your First PicoGL Program
    • Understanding the Code
    • Key Concepts
      • MeshData
      • RenderWindow
    • Interactive Controls
    • Adding More Features
      • Textures
      • Lighting
      • Multiple Objects
    • Legacy Compatibility
    • Common Issues
    • Next Steps
    • Examples to Try
    • Troubleshooting
  • Examples
    • Basic Examples
      • Cube Example
      • Teapot Example
    • Legacy Examples
      • Legacy Cube (Minimal)
      • Legacy Cube (Fixed)
      • Legacy Teapot (Minimal)
      • Legacy Teapot (Fixed)
    • Advanced Examples
      • Molecular Visualization
      • Texture Examples
      • Shader Examples
    • Utility Examples
      • Mesh Viewer
      • Test Window
    • Running Examples
      • Prerequisites
      • Basic Usage
      • Interactive Controls
    • Troubleshooting Examples
      • Common Issues
      • Platform-Specific Issues
        • macOS
        • Windows
        • Linux
    • Example Selection Guide
    • Customizing Examples
    • Contributing Examples
  • Legacy Examples
    • Overview
    • Why Legacy Examples?
    • Legacy Teapot Examples
      • Legacy Teapot (Minimal)
      • Legacy Teapot (Fixed)
    • Legacy Cube Examples
      • Legacy Cube (Minimal)
      • Legacy Cube (Fixed)
    • Diagnostic Tools
      • OpenGL Setup Test
      • Cube Data Test
    • Installation and Setup
      • Prerequisites
      • Installation
      • Platform-Specific Setup
        • macOS
        • Windows
        • Linux
    • Troubleshooting
      • Common Issues
      • macOS Specific Issues
      • Windows Specific Issues
      • Linux Specific Issues
    • Performance Notes
    • Choosing the Right Version
    • Development Notes
    • License
  • Troubleshooting
    • Common Issues
      • Installation Problems
      • OpenGL Context Issues
      • Shader Compilation Issues
    • Platform-Specific Issues
      • macOS Issues
      • Windows Issues
      • Linux Issues
    • Performance Issues
      • Slow Rendering
      • Memory Issues
      • Frame Rate Issues
    • Debugging Techniques
      • Enable Debug Output
      • Use Diagnostic Tools
      • Check System Information
    • Common Solutions
      • Try Legacy Examples
      • Update Dependencies
      • Check OpenGL Support
      • Use Software Rendering
      • Check Display Environment
    • Report Issues
    • Getting Help

API Reference

  • Renderer API
    • Core Classes
      • MeshData
        • MeshData
      • GLContext
        • GLContext
    • Renderer Classes
      • ObjectRenderer
        • ObjectRenderer
      • TextureRenderer
        • TextureRenderer
      • LegacyGLMesh
      • GLMesh
        • GLMesh
    • Base Classes
      • RendererBase
        • RendererBase
      • AbstractRenderer
        • AbstractRenderer
    • Utility Classes
      • UvRenderer
        • UvRenderer
    • Data Structures
    • Rendering Pipeline
    • Error Handling
    • Performance Considerations
    • Best Practices
  • Buffers API
    • Core Classes
      • VertexArrayObject
        • VertexArrayObject
      • VertexBufferGroup
    • Buffer Classes
      • Modern Buffers
        • ModernVBO
        • ModernEBO
      • Legacy Buffers
        • LegacyVBO
        • LegacyPositionVBO
        • LegacyColorVBO
        • LegacyNormalVBO
        • LegacyEBO
    • Base Classes
      • VertexBase
        • VertexBase
      • VertexBuffer
    • Data Structures
      • LayoutDescriptor
        • LayoutDescriptor
      • AttributeSpec
        • AttributeSpec
    • Buffer Management
      • Creating Buffers
      • Binding Buffers
    • Buffer Types
      • Vertex Buffers
      • Element Buffers
    • Buffer Operations
      • Uploading Data
      • Drawing
      • Cleanup
    • Error Handling
    • Performance Considerations
    • Best Practices
  • Shaders API
    • Core Classes
      • ShaderProgram
        • ShaderProgram
      • ShaderManager
    • Shader Types
      • ShaderType
        • ShaderType
    • Shader Compilation
      • Compile Shaders
        • compile_shaders()
      • Load Shaders
        • load_fragment_and_vertex_for_shader_type()
    • Uniform Management
      • ShaderUniform
        • ShaderUniform
      • Uniform Types
    • Built-in Shaders
      • Basic Color Shader
      • Texture Shader
      • Lighting Shader
      • Fallback Shaders
    • Shader Usage
      • Creating Shader Programs
      • Using Shaders
    • Error Handling
    • Performance Considerations
    • Best Practices
  • UI API
    • Core Classes
      • AbstractGLWindow
        • AbstractGLWindow
    • Window Backends
      • GLUT Backend
        • GLWindow
        • GlutRendererWindow
        • RenderWindow
        • TextureWindow
      • Qt Backend
        • GLBase
    • Input Handling
      • Mouse Input
      • Keyboard Input
    • Window Management
      • Creating Windows
      • Window Properties
    • Rendering Loop
      • Display Function
      • Resize Handling
    • Event Handling
      • Event Loop
      • Timer Events
    • Platform-Specific Features
      • macOS
      • Windows
      • Linux
    • Error Handling
      • Window Creation Errors
      • Input Errors
    • Performance Considerations
    • Best Practices
  • Utils API
    • Core Classes
      • ObjectLoader
        • ObjectLoader
      • TextureLoader
        • TextureLoader
    • Helper Functions
      • GL Initialization
        • execute_gl_tasks()
        • init_gl_list()
        • paint_gl_list()
      • Texture Utilities
        • bind_texture_array()
      • Normal Generation
        • compute_vertex_normals()
      • Reshape Utilities
        • float32_row()
    • Data Loading
      • OBJ File Loading
      • Texture Loading
    • Data Processing
      • Mesh Data Processing
      • Texture Processing
    • File Management
      • Path Handling
    • Error Handling
      • Loading Errors
    • Performance Considerations
    • Best Practices

Development

  • Development
    • Project Structure
    • Architecture Overview
    • Design Principles
    • Backend System
      • Modern Backend
      • Legacy Backend
      • Backend Selection
    • Testing Framework
      • Unit Tests
      • Integration Tests
    • Build System
      • Setup Configuration
      • Development Dependencies
    • Code Style
      • Formatting
      • Linting
      • Type Checking
    • Documentation
      • Sphinx Configuration
      • Docstring Style
    • Contributing
      • Getting Started
      • Code Review Process
    • Release Process
      • Version Numbering
      • Release Steps
    • Performance Considerations
      • Rendering Performance
      • Memory Management
    • Debugging
      • OpenGL Debugging
    • Common Issues
  • Testing
    • Test Structure
    • Running Tests
      • Basic Test Execution
      • Using pytest
    • Test Categories
      • Unit Tests
      • Integration Tests
      • Performance Tests
      • Compatibility Tests
    • Test Mocking
      • OpenGL Mocking
      • Dependency Mocking
    • Test Data
      • Test Fixtures
      • Test Utilities
    • Continuous Integration
      • GitHub Actions
    • Test Coverage
      • Coverage Requirements
    • Code Quality
      • Linting
      • Type Checking
      • Formatting
    • Test Best Practices
      • Writing Tests
      • Test Maintenance
      • Debugging Tests
  • Contributing
    • Getting Started
      • Prerequisites
      • Fork and Clone
    • Development Setup
      • Install Dependencies
      • Set Up Pre-commit Hooks
    • Development Workflow
      • Making Changes
    • Code Style
      • Formatting
      • Linting
      • Type Checking
      • Documentation
    • Testing
      • Writing Tests
      • Running Tests
      • Test Requirements
    • Documentation
      • Updating Documentation
      • Building Documentation
    • Pull Request Process
      • Creating Pull Requests
      • Pull Request Template
      • Review Process
    • Types of Contributions
      • Bug Fixes
      • Feature Requests
      • Documentation Improvements
      • Performance Improvements
      • Code Quality Improvements
    • Community Guidelines
      • Code of Conduct
      • Communication
    • Getting Help
    • Recognition
  • Changelog
    • Version 1.0.0 (2025-01-06)
  • API Reference
    • mesh
      • Classes
      • Module Contents
        • ShaderMeshRenderer
    • picogl
      • Submodules
        • picogl.backend
        • picogl.buffers
        • picogl.error
        • picogl.frame
        • picogl.info
        • picogl.logger
        • picogl.normals
        • picogl.project
        • picogl.renderer
        • picogl.safe
        • picogl.shaders
        • picogl.tests
        • picogl.ui
        • picogl.utils
      • Attributes
      • Package Contents
        • __version__
    • window
      • Classes
      • Module Contents
        • LegacyQtObjectWindow
    • renderer
      • Classes
      • Module Contents
        • LegacyQtObjectRenderer
PicoGL
  • API Reference
  • picogl
  • picogl.ui
  • picogl.ui.backend
  • picogl.ui.backend.glut
  • picogl.ui.backend.glut.window
  • View page source

picogl.ui.backend.glut.window

Submodules

  • picogl.ui.backend.glut.window.gl
  • picogl.ui.backend.glut.window.glut
  • picogl.ui.backend.glut.window.glut_legacy
  • picogl.ui.backend.glut.window.object
  • picogl.ui.backend.glut.window.texture
Previous Next

© Copyright 2025, PicoGL Contributors.

Built with Sphinx using a theme provided by Read the Docs.