Я делаю программу единства с GLSL-шейдером.Я знаю, как использовать шейдер в программировании окон openGL, а не Unity.
в документе Unity, он говорит, что «использовать встроенный атрибут».но это настолько низкая версия GLSL.старшая версия, используйте вот так.
layout(location = 0) in vec3 a_position;
layout(location = 1) in vec3 a_normal;
out vec3 v_position_EC;
out vec3 v_normal_EC;
старшая версия не поддерживает переменные vayring и предопределенные переменные.если я установлю "#version 400", это может быть полным.но любые данные идут.
Я хочу преобразовать этот код в код Unity C #.
glGenBuffers(1, &rectangle_VBO);
glBindBuffer(GL_ARRAY_BUFFER, rectangle_VBO);
glBufferData(GL_ARRAY_BUFFER, sizeof(rectangle_vertices), &rectangle_vertices[0][0], GL_STATIC_DRAW);
// Initialize vertex array object.
glGenVertexArrays(1, &rectangle_VAO);
glBindVertexArray(rectangle_VAO);
glBindBuffer(GL_ARRAY_BUFFER, rectangle_VBO);
glVertexAttribPointer(LOC_POSITION, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), BUFFER_OFFSET(0));
glEnableVertexAttribArray(0);
glVertexAttribPointer(LOC_NORMAL, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), BUFFER_OFFSET(3 * sizeof(float)));
glEnableVertexAttribArray(1);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindVertexArray(0);
Я не могу найти какой-либо документ для данных 'bind' в Unity.это невозможно?Я хочу решение или сказать, что это не может.
Я уже завершил конвертировать в низкую версию.но мой босс хочет высокую версию .... пожалуйста, помогите мне!