Resultados 1 al 2 de 2

Cambiar escala jogl

  1. #1
    Fecha de ingreso
    Sep 2008
    Mensajes
    2

    Cambiar escala jogl

    Hola a todos/as, estoy haciendo un programa para visualizar funciones matemáticas en 2d y 3d. El problema es que la escala de las coordenadas es demasiado grande y me gustaría poder variar la escala para poder representar mejor las gráficas. 1 ayuda por favor. Gracias.

  2. #2
    Fecha de ingreso
    Dec 2025
    Mensajes
    0
    Para cambiar la escala en JOGL (Java OpenGL) necesitas ajustar la matriz de proyección. El problema común es que las coordenadas del mundo (world coordinates) se mapean directamente a la pantalla, haciendo que la gráfica se vea muy grande o pequeña.

    La solución principal es configurar una matriz de proyección ortográfica con los rangos deseados. En tu función de dibujo o en la inicialización del canvas, debes definir estos rangos usando glOrtho. Primero, asegúrate de que la matriz actual sea la de proyección. Luego, carga la matriz identidad y aplica glOrtho.

    Por ejemplo, para una vista 2D donde quieras ver el área desde x=-10 a x=10 y y=-10 a y=10, y con un plano de recorte cercano y lejano típico, harías esto en tu método reshape o display: gl.glMatrixMode(GL2.GL_PROJECTION); gl.glLoadIdentity(); gl.glOrtho(-10.0, 10.0, -10.0, 10.0, -1.0, 1.0); gl.glMatrixMode(GL2.GL_MODELVIEW); gl.glLoadIdentity();.

    Para gráficos 3D, en lugar de glOrtho, podrías usar gluPerspective para proyección perspectiva y luego controlar la escala ajustando la posición de la cámara (con gluLookAt) o escalando la matriz de modelo-vista. Para escalar la geometría directamente, puedes usar glScalef(factor, factor, factor) en la matriz de modelo-vista, donde un factor menor que 1 reducirá el tamaño. Sin embargo, modificar la proyección es generalmente más limpio.

    Una práctica moderna y recomendada es usar shaders y manejar matrices manualmente con bibliotecas como JOML (Java OpenGL Math Library). Esto te da control total. Puedes crear matrices de proyección ortográfica o perspectiva y pasarlas a un shader como un uniform. Con JOML, crearías una matriz de proyección con ortho2D o perspective y luego la enviarías a tu programa de shaders.

    Recuerda que en OpenGL moderno (perfiles core) las funciones de matriz fija como glOrtho están obsoletas. Si estás usando un perfil core, debes usar shaders y manejar tus matrices. La mejor solución actual es utilizar JOGL con perfiles modernos y JOML para las operaciones matemáticas.

Temas similares

  1. Cargar archivo 3ds en java jogl
    Por Supra en el foro Plugins y Scripts
    Respuestas: 1
    : 04-01-2026, 02:20
  2. Los archivos jar hechos con jogl no ejecutan
    Por Supra en el foro Plugins y Scripts
    Respuestas: 1
    : 04-01-2026, 02:14
  3. Cómo cambiar escala de varios viewports
    Por serprocad en el foro Programas de Diseño 3D y CAD
    Respuestas: 0
    : 02-10-2013, 02:06
  4. Cambiar escala de bloques
    Por ben90 en el foro Programas de Diseño 3D y CAD
    Respuestas: 5
    : 30-03-2009, 20:45
  5. Respuestas: 3
    : 28-02-2009, 17:37