0
我不認爲我是第一個考慮這個問題的人......但是有可能編寫一個在OpenGL中管理VRAM /緩衝區對象(BO)的STL分配器嗎?使用stl向量來管理opengl緩衝區對象
由於這個Question我目前使用矢量來寫入和BO從BOs讀取。
此外我使用一些模板來映射BO幾乎任何我喜歡的東西。像這樣:
TypedBufferObject<someKindOfStruct> tbo = getTBO();
someKindOfStruct* mapPtr = tbo.map(GL_READ_WRITE);
這工作得很好......但對於地圖包含的元素數量來說並不安全。
有人爲STL實現了基於BO的分配器嗎?而且(如果沒有)會實際上有可能嗎?
經過閱讀,我可以說,它可以通過映射到主內存來從BO分配內存。 但是這並不能幫助使用BO,因此每次寫入或讀取之後都必須將其取消映射,這無法直接在分配器中完成。 – fho 2010-07-27 11:15:19
@Florian:正如我在我的評論中提到的有關此問題的其他問題的答案中所述,最好創建一個儘可能像STL容器一樣的輕量級類(模板)。它會在構建時通過一個BO,映射它,允許使用它,並且將它放到它的析構函數中。 – sbi 2010-07-27 16:15:52
其實我正在使用'TypedBufferObject'來達到這個目的...我只是希望能夠使用更加標準化的方式。 – fho 2010-07-29 07:35:51