Организация текстур, буферов и других объектов в WebGL - PullRequest
0 голосов
/ 26 апреля 2020

Я создаю свой собственный игровой движок на основе WebGL. Есть объекты геометрии, текстуры и др. c. Я хочу создать их следующим образом:

new Geometry (...);
new Texture (...);
new Mesh (...);

, а затем добавить их на сцену или просто визуализировать в любом месте без добавления. Но как я могу перенести эти объекты в WebGL? На самом деле я создаю объекты, которые не связаны с WebGL. У меня есть возможность написать методы для создания этих объектов в моей оболочке WebGL и создать их следующим образом:

context.createGeometry(...);
context.createTexture(...);
context.createMesh(...);

В этих методах будут такие вызовы, как gl.createTexture(...), gl.createBuffer(...), et c , Но это некрасиво, и я хочу использовать первый способ. Как «зарегистрировать» объекты, созданные первым способом в WebGL? У меня есть мысль: в каждом объекте добавить свое представление WebGL и перед каждым вызовом рендеринга проверить, был ли он создан, необходимо обновить, и т. Д. c. Есть ли лучший способ?

...