Articles of opengl

glDrawElements da EXC_BAD_ACCESS con VBO

Acabo de empezar a aprender opengl y estaba intentando implementar VBO. esto es lo que estoy haciendo En el método principal, antes de iterar, para cada malla, inicializo sus VBO. La malla-> pos y mesh-> norma contiene los puntos y las normales de los triangularjs y los quads de la malla. La malla-> triángulo y […]

Problema de comstackción de sombreador de glsl en tiempo de ejecución

Estoy trabajando en un proyecto que utiliza sombreadores de OpenGL 4.0. Tengo que proporcionar la llamada a glShaderSource () con una matriz de matrices de caracteres, que representa la fuente del shader. La comstackción del sombreador está fallando, con los siguientes errores: (0) : error C0206: invalid token “” in version line (0) : error […]

Guardar el contexto openGL como una salida de video

Actualmente estoy intentando guardar la animación hecha en openGL en un archivo de video. He intentado usar el openCV de videowriter pero sin ninguna ventaja. He podido generar una instantánea con éxito y guardarla como bmp usando la biblioteca SDL . Si guardo todas las instantáneas y luego genero el video usando ffmpeg , es […]

Cómo cambiar, modificar, cortar e intercambiar píxeles de BITMAP

Quiero modificar un bitmap: cambiar (cambiar) la posición del píxel (para la posterior rectificación del ojo de pez) dividir bitmap en mapas de bits secundarios (por ejemplo, hacer 4 mapas de bits de 1) (para texturizar más tarde diferentes GL_QUADS) Para ello necesito el código de cómo modificar los píxeles de un bitmap. El siguiente […]

Ratón recogiendo señorita

Hice la selección de mouse con terreno para estas lecciones (pero usé c ++) https://www.youtube.com/watch?v=DLKN0jExRIM&index=29&listhLoLuZVfUksDP http://antongerdelan.net/opengl/raycasting.html El problema es que la posición del ratón no se corresponde con el lugar donde el rayo se cruza con el terreno: Hay un gran error en la vertical y un poco horizontal. No mire las sombras, este no […]

¿Por qué no puedo crear una ventana con GLFW en Windows?

Me alegraría si alguien pudiera decirme cuál es el problema aquí: int main() { glfwWindowHint(GLFW_SAMPLES, 4); glfwWindowHint(GLFW_VERSION_MAJOR, 3); glfwWindowHint(GLFW_VERSION_MINOR, 3); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); GLFWwindow* window; window = glfwCreateWindow(1024, 768, “window”, NULL, NULL); }

OpenGL / GLSL – Usando objetos de búfer para valores de matriz uniformes

Mi (fragmento) shader tiene una matriz uniforme que contiene 12 estructuras: struct LightSource { vec3 position; vec4 color; float dist; }; uniform LightSource lightSources[12]; En mi progtwig tengo 12 objetos de búfer que contienen los datos de una fuente de luz. (Necesitan ser buffers separados.) ¿Cómo puedo enlazar estos buffers a su posición respectiva dentro […]

Conversión vectorizada rápida de RGB a BGRA

En un seguimiento de algunas preguntas anteriores sobre la conversión de RGB a RGBA, y de ARGB a BGR, me gustaría acelerar una conversión de RGB a BGRA con SSE . Supongamos una máquina de 32 bits, y me gustaría usar intrínsecos . Tengo dificultades para alinear los búferes de origen y destino para trabajar […]

glGetActiveUniform informa que existe un uniforme, pero glGetUniformLocation devuelve -1

Tengo un sombreador de vértices que por alguna razón no puedo obtener la ubicación de uno de los uniformes. Utilizo glGetActiveUniform para obtener todos los uniformes disponibles, y mi uniforme está ahí ( bones[0] ). Sin embargo, cuando llamo a glGetUniformLocation(shaderProgram_, “bones[0]”); , devuelve -1. También probé glGetUniformLocation(shaderProgram_, “bones”); , pero también devuelve -1. Aquí […]

¿Qué framebuffer del usuario carece?

Aquí hay una comparación del mismo objeto utilizando la textura de framebuffer proyectada en la pantalla y “main framebuffer” La imagen de la izquierda está borrosa, mientras que la derecha es más nítida. Algunas opciones como glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ) no funcionan correctamente al renderizar en el framebuffer. Mi “tubería” se ve así Bind frambuffer […]