Попытка создать скайбокс в растеризаторе OpenTK, цвет не выводится.C#

Место общения программистов C#
Ответить
Anonymous
 Попытка создать скайбокс в растеризаторе OpenTK, цвет не выводится.

Сообщение Anonymous »

Я пытаюсь создать простой растеризатор, используя C# и OpenTK. Большая часть моих вещей работает, но при попытке реализовать функцию скайбокса я заблудился. Я следовал руководству по адресу https://learnopengl.com/Advanced-OpenGL/Cubemaps, но полагаю, что что-то пошло не так при переводе glfw с C++ на C# OpenTK.
Мой соответствующий код рендеринга:

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

public void Render(Camera cam)
{
GL.DepthMask(false);

GL.UseProgram(SkyboxShader.ProgramID);

var camview = new Matrix4(new Matrix3(cam.GetPositionMatrix()));
var camproj = cam.GetFOVMatrix();
GL.UniformMatrix4(SkyboxShader.UniformMatrixView, false, ref camview);
GL.UniformMatrix4(SkyboxShader.UniformMatrixProjection, false, ref camproj);

GL.BindVertexArray(SkyboxVAO);
GL.ActiveTexture(TextureUnit.Texture11);
GL.BindTexture(TextureTarget.TextureCubeMap, CubeMap.ID);
GL.Uniform1(GL.GetUniformLocation(SkyboxShader.ProgramID, "skyboxCubeMap"), 11);
GL.DrawArrays(PrimitiveType.Triangles, 0, 36);
GL.DepthMask(true);

GL.UseProgram(0);
}
Мой вершинный и фрагментный шейдер следующий:

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

#version 330 core
layout (location = 0) in vec3 aPos;

out vec3 TexCoord;

uniform mat4 projection;
uniform mat4 view;

void main()
{
TexCoord = vec3(0.5, 0.5, 1.0);
vec4 pis = projection * view * vec4(aPos, 1.0);
gl_Position = pis.xyww;
}

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

#version 330 core
out vec4 FragColor;

in vec3 TexCoord;

uniform samplerCube skyboxCubeMap;

void main()
{
FragColor = texture(skyboxCubeMap, TexCoord);
}
Я просто упустил какую-то мелкую деталь?
Я уже проверил, правильно ли загрузилось изображение (да, массив пикселей заполнен значениями) , мой метод рендеринга действительно был вызван (да), и если были какие-либо ошибки GL (нет). Я совершенно не понимаю, что искать.

Подробнее здесь: https://stackoverflow.com/questions/786 ... lor-output
Ответить

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

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

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

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

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