Open GL - error al instanciar buffer en opentk

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 2 puestos en Open GL (en relación al último mes)
Gráfica de Open GL

error al instanciar buffer en opentk

Publicado por junior (1 intervención) el 20/04/2020 00:38:16
soy nuevo en opengl, y estoy usando opentk para c# en visual studio, estoy siguiendo el curso de https://opentk.net/learn/chapter1/0-opengl.html, y me sale un error cuando llamo algun buffer, me sale el sgte error=

'System.AccessViolationException: 'Intento de leer o escribir en la memoria protegida. A menudo, esto indica que hay otra memoria dañada.''


llevo una semana con el mismo error, incluso he restaurado todo el s.o. y aun no pillo una solucion, espero que alguien me pueda ayudar a buscar una solucion, o al menos me puedan decir si hice algo mal, recien estoy aprendiendo opentk y estoy usando el lenguaje c#, a continuacion adjunto una imagen del programa y donde me ocurre dicho error
Captura-de-pantalla-1

espero me puedan ayudar, o orientar de por que me sale dicho error, eh estado pensando que talves sea por que mi computadora usa tarjeta de video integrado, si quieren ayudarme me pueden escribir, me sera de muchisima ayuda

a continuacion pegare el codigo, es un codigo simple pero aun asi me sale el error, y como dije recien estoy aprendiendo

using OpenTK;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL4;
using OpenTK.Input;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
class Game : GameWindow
{
float[] vertices = {
-0.5f, -0.5f, 0.0f, //Bottom-left vertex
0.5f, -0.5f, 0.0f, //Bottom-right vertex
0.0f, 0.5f, 0.0f //Top vertex
};
int VertexBufferObject;
public Game(int width, int height, string title) : base(width, height, GraphicsMode.Default, title) { }

protected override void OnLoad(EventArgs e)
{
GL.ClearColor(0.2f, 0.3f, 0.3f, 1.0f);

VertexBufferObject = GL.GenBuffer(); //// ****************aqui me da el error**************
GL.BindBuffer(BufferTarget.ArrayBuffer, VertexBufferObject);
GL.BufferData(BufferTarget.ArrayBuffer, vertices.Length * sizeof(float), vertices, BufferUsageHint.StaticDraw);

//Code goes here

base.OnLoad(e);
}
protected override void OnRenderFrame(FrameEventArgs e)
{
GL.Clear(ClearBufferMask.ColorBufferBit);

//Code goes here.

Context.SwapBuffers();
base.OnRenderFrame(e);
}
protected override void OnResize(EventArgs e)
{
GL.Viewport(0, 0, Width, Height);
base.OnResize(e);
}
protected override void OnUnload(EventArgs e)
{
GL.BindBuffer(BufferTarget.ArrayBuffer, 0);
GL.DeleteBuffer(VertexBufferObject);
base.OnUnload(e);
}

}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder