Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

161
Views
WebGL (1.0). Uso de varios programas para renderizar un objeto 3D y una pequeña aplicación de dibujo

Actualmente estamos trabajando en un proyecto que requiere que rendericemos un objeto 3D y una pequeña aplicación de dibujo uno al lado del otro. Los estamos dibujando en el mismo lienzo y usamos la ventana gráfica y la tijera para darles su área separada. Hasta ahora, hemos logrado renderizar ambos, pero nuestra aplicación de dibujo no dibuja los puntos que se colocan en el búfer (funciona cuando se usa solo).

Actualmente estamos utilizando el enfoque descrito en la guía de fundamentos de WebGL: https://webglfundamentals.org/webgl/lessons/webgl-drawing-multiple-things.html

En el momento de inicio:

  • cree todos los shaders y programas y busque ubicaciones.
  • crear zonas de influencia y cargar datos de vértices.
  • crear texturas y cargar datos de textura.

En tiempo de renderizado

  • borrar y configurar la ventana gráfica y otros estados globales (habilitar pruebas de profundidad, activar la eliminación selectiva, etc.)
  • Por cada cosa que quieras dibujar
    • llame a gl.useProgram para el programa necesario para dibujar.
    • configurar atributos para lo que quieres dibujar
      • para cada atributo llame a gl.bindBuffer, gl.vertexAttribPointer, gl.enableVertexAttribArray
    • configurar uniformes para lo que quieres dibujar
      • llame a gl.uniformXXX para cada uniforme
      • llame a gl.activeTexture y gl.bindTexture para asignar texturas a unidades de textura.
    • llame a gl.drawArrays o gl.drawElements

En la pseudo implementación que se ve a continuación, los clics en la aplicación de dibujo (el controlador de eventos no se muestra, pero funciona) se registran y se colocan en el búfer (el programa utilizado en este momento es el correcto y el búfer correcto está enlazado antes que los subdatos). se agrega), pero cuando llegamos al punto de representación, los puntos ect. no aparecen?

 function render(){ switchProgram() render3Dobject() switchProgram() renderDrawingApplication() } function switchProgram(){ gl.enable(gl.SCISSOR_TEST); // Set viewport and scissor. // Bind buffer // Set vertexAttributePointer // EnableVertexAttributeArray // Setup uniform textures. } function render3Dobject(){ // Handle rotation, matrices ect. // Draw object using DrawElements. } function renderDrawingApplication(){ // Draw all points and objects from drawing program using drawArrays. }
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!