Как правильно вызвать glTexImage2D, используя GLFW в C#C#

Место общения программистов C#
Ответить
Anonymous
 Как правильно вызвать glTexImage2D, используя GLFW в C#

Сообщение Anonymous »

Я пытался настроить рендеринг текстур для проекта OpenGL, над которым работал, и не смог заставить его работать, потому что, очевидно, последний параметр функции glTexImage2D в nint. Я посмотрел в Интернете и обнаружил, что это целое число, но это не имеет смысла, потому что это параметр, который должен принимать данные изображения? В любом случае, я пытаюсь найти способ преобразовать массив байтов данных RGBA в этот тип nint, чтобы передать его этой функции, кто-нибудь знает, как это сделать?
Это код, поэтому далеко:

Код: Выделить всё

byte[] buffer = File.ReadAllBytes("Grass_Block_29_JE2_BE2.rgba");
for (int i = 0; i < buffer.Length; i++) {

Console.WriteLine(buffer[i]);

}

while (!Glfw.WindowShouldClose(window)) {

// Load texture
uint texture = glGenTexture();
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture);

// Texture setup
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 160, 160, 0, GL_RGBA, GL_UNSIGNED_BYTE, buffer); // This is the code that isn't working, compiler says buffer is a byte[] not nint
Большое спасибо!


Подробнее здесь: https://stackoverflow.com/questions/792 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»