Articles of opengl

MODERN OPENGL no puede cambiar el valor uniforme entre las llamadas a glDrawArrays

EDIT: Acabo de arreglar el problema al reinstalar PyOpenGL con pip. El mismo progtwig ahora funciona como se esperaba. Gracias por tus esfuerzos. Toda la pregunta fue reescrita y aclarada. El problema no radica en los (aunque extraños) métodos de creación y enlace de texturas, como se explica en los comentarios. Mi problema real es […]

Vista de render OpenGL sin una ventana visible en python

Necesito hacer alguna escena. Logré hacerlo en python usando pyopengl y pygame. El problema es que crea una ventana por un corto período de tiempo. Quiero renderizar la misma imagen y guardarla, sin crear una ventana visible (o posiblemente sin crear una ventana, e incluso sin pygame). import cv2 import numpy as np import pygame […]

Cómo hacer que los VBO funcionen con Python y PyOpenGL

El siguiente progtwig de Python debe dibujar un triángulo blanco en el cuadrante superior derecho de la ventana. import pygame from OpenGL.GL import * from ctypes import * pygame.init () screen = pygame.display.set_mode ((800,600), pygame.OPENGL|pygame.DOUBLEBUF, 24) glViewport (0, 0, 800, 600) glClearColor (0.0, 0.5, 0.5, 1.0) glEnableClientState (GL_VERTEX_ARRAY) vertices = [ 0.0, 1.0, 0.0, 0.0, […]

Llantas giratorias de llantas de coche opengl transformaciones.

Aquí está la función de dibujo que dibuja las partes del automóvil, en esta función se comprueban las llantas y se marca la bandera, y necesito girar la llanta mientras muevo el automóvil. Algo no funciona porque las llantas se giran pero se sacan del modelo del automóvil, cuando presiono la tecla de flecha hacia […]

Progtwigción de la interfaz de usuario OPENGL

Estoy desarrollando una aplicación gráfica para presentar datos (no es un juego, sino una aplicación real). Necesita ser multiplataforma, así que he elegido: python OpenGL (necesito 3D, mezclas, texturas, etc.) pyopengl wx / pywx – ventanas, diálogos, etc. El último componente – WX – plantea la pregunta. Puedo armar una aplicación de muy buen aspecto […]

glDrawElements para dibujar un cubo en PyOpenGL

Recientemente empecé a aprender OpenGL a través de Python gracias a varios tutoriales (especialmente el de Nicolas P. Rougier: http://www.labri.fr/perso/nrougier/teaching/opengl/ ). Ahora estoy cambiando a 3D y estoy tratando de dibujar un cubo. Por lo tanto, logro obtener algunos triangularjs que no representan un cubo (esto parece ser normal ya que no duplico mis vértices […]

OpenGL obteniendo matriz de proyección

Estoy intentando usar gluUnProject en OpenGL, primero necesito obtener las matrices projectoin, model_view y viewort. Según los ejemplos que he encontrado en línea utilicé glGetFloatv(GL_PROJECTION_MATRIX, projection) glGetFloatv(GL_MODELVIEW_MATRIX, model_view) glGetInteger(GL_VIEWPORT, viewport) Pero me sale el error “ValueError: glGetFloatv requiere 1 argumentos (pname), recibió 2: (GL_PROJECTION_MATRIX, [])” Entonces, ¿qué debo usar para obtener estas matrices?

Captura de ventana GTK: aplicación VPython (OpenGL)

Después de leer la documentación para los subprocesos VPython y GTK , me parece que sería posible incrustar gráficos VPython dentro de una GUI de gtk. Sé que es posible con wx en Windows pero estoy en Linux y estoy usando PyGTK. Ahora, he logrado obtener parte del camino. Puedo incrustar una ventana de VPython […]

Conceptos básicos de OpenGL: llamar a glDrawElements una vez por objeto

Continuando con mis exploraciones de los conceptos básicos de OpenGL (vea esta pregunta ), estoy tratando de averiguar los principios básicos de dibujar una escena con OpenGL. Estoy tratando de renderizar un cubo simple repetido n veces en cada dirección. Mi método parece tener un rendimiento terrible: 1000 cubos ofrece un rendimiento inferior a 50 […]

Simplemente instalé QtOpenGL pero no puedo importarlo (desde Python)

Acabo de instalarlo con apt-get en Debian Linux con apt-get install libqt4-opengl El rest de PyQt4 está disponible, pero no puedo acceder a este nuevo módulo. from PyQt4 import QtOpenGL plantea ImportError. ¿Alguna idea de qué hacer?