История изменений
Исправление KivApple, (текущая версия) :
Смена API 3D не решит вопрос ТС как ему получить текстурные координаты. Ему с любым API придётся их генерировать (очень вероятно на CPU) или грузить из OBJ (точно на CPU). А если он решит проблему с текстурными координатами, то у него всё остальное и так работает и зачем ему переписывать рабочий WebGL код непонятно на что (в браузере нет ни vulkan, ни directx).
Smooth/flat shading в любом графическом API делается на уровне кода шейдеров (GLSL и в Африке GLSL, а HLSL конвертируем в GLSL и имеет feature parity), кроме OpenGL в immediate mode, который ТС не использует (WebGL построен на шейдерах) и который ты тоже не предлагаешь (потому что он говно мамонта). Так что опять же смена API не решит проблему, всё равно придётся писать правильный шейдер на +- том же языке.
Таким образом, ни один из вопросов ТС не имеет отношения к особенностям того или иного графического API и его смена ничего не решит, а только создаст новые проблемы и задачи.
Исправление KivApple, :
Смена API 3D не решит вопрос ТС как ему получить текстурные координаты. Ему с любым API придётся их генерировать (очень вероятно на CPU) или грузить из OBJ (точно на CPU). А если он решит проблему с текстурными координатами, то у него всё остальное и так работает и зачем ему переписывать рабочий WebGL код непонятно на что (в браузере нет ни vulkan, ни directx).
Smooth/flat shading в любом графическом API делается на уровне кода шейдеров (GLSL и в Африке GLSL, а HLSL конвертируем в GLSL и имеет feature parity), кроме OpenGL в immediate mode, который жуткое legacy и не везде поддерживается. Так что опять же смена API не решит проблему, всё равно придётся писать правильный шейдер на +- том же языке.
Таким образом, ни один из вопросов ТС не имеет отношения к особенностям того или иного графического API и его смена ничего не решит, а только создаст новые проблемы и задачи.
Исправление KivApple, :
Смена API 3D не решит вопрос ТС как ему получить текстурные координаты. Ему с любым API придётся их генерировать (очень вероятно на CPU) или грузить из OBJ (тоже на CPU). А если он решит проблему с текстурными координатами, то у него всё остальное и так работает и зачем ему переписывать рабочий WebGL код непонятно на что (в браузере нет ни vulkan, ни directx).
Smooth/flat shading в любом графическом API делается на уровне кода шейдеров (GLSL и в Африке GLSL, а HLSL конвертируем в GLSL и имеет feature parity), кроме OpenGL в immediate mode, который жуткое legacy и не везде поддерживается. Так что опять же смена API не решит проблему, всё равно придётся писать правильный шейдер на +- том же языке.
Таким образом, ни один из вопросов ТС не имеет отношения к особенностям того или иного графического API и его смена ничего не решит, а только создаст новые проблемы и задачи.
Исправление KivApple, :
Смена API 3D не решит вопрос ТС как ему получить текстурные координаты. Ему с любым API придётся их генерировать (очень вероятно на CPU) или грузить из OBJ (тоже на CPU). А если он решит проблему с текстурными координатами, то у него всё остальное и так работает и зачем ему переписывать рабочий WebGL код непонятно на что (в браузере нет ни vulkan, ни directx).
Smooth/flat shading в любом графическом API делается на уровне кода шейдеров (GLSL и в Африке GLSL, а HLSL конвертируем в GLSL и имеет feature parity), кроме OpenGL в immediate mode, который жуткое legacy и не везде поддерживается. Так что опять же смена API не решит проблему, всё равно придётся писать правильный шейдер на +- том же языке.
Исправление KivApple, :
Смена API 3D не решит вопрос ТС как ему получить текстурные координаты. Ему с любым API придётся их генерировать (очень вероятно на CPU) или грузить из OBJ (тоже на CPU). А если он решит проблему с текстурными координатами, то у него всё остальное и так работает и зачем ему переписывать рабочий WebGL код непонятно на что (в браузере нет ни vulkan, ни directx).
Smooth/flat shading в любом графическом API делается на уровне кода шейдеров (GLSL и в Африке GLSL, а HLSL конвертируем в GLSL и должен иметь feature parity), кроме OpenGL в immediate mode, который жуткое legacy и не везде поддерживается. Так что опять же смена API не решит проблему, всё равно придётся писать правильный шейдер на +- том же языке.
Исходная версия KivApple, :
Смена API 3D не решит вопрос ТС как ему получить текстурные координаты. Ему с любым API придётся их генерировать (очень вероятно на CPU) или грузить из OBJ (тоже на CPU). А если он решит проблему с текстурными координатами, то у него всё остальное и так работает и зачем ему переписывать рабочий WebGL код непонятно на что (в браузере нет ни vulkan, ни directx).