StreamBuffer::StreamBuffer(u32 type, u32 size) : m_buffer(GenBuffer()), m_buffertype(type), m_size(ROUND_UP_POW2(size)), m_bit_per_slot(IntLog2(ROUND_UP_POW2(size) / SYNC_POINTS)) { m_iterator = 0; m_used_iterator = 0; m_free_iterator = 0; }
StreamBuffer::StreamBuffer(u32 type, u32 size, u32 align_size, bool need_cpu_buffer) : m_buffer(GenBuffer()), m_buffertype(type), m_size(Common::AlignUpSizePow2(ROUND_UP_POW2(size), align_size)), m_bit_per_slot(IntLog2(Common::AlignUpSizePow2(ROUND_UP_POW2(size), align_size) / SYNC_POINTS)) { m_iterator = 0; m_used_iterator = 0; m_free_iterator = 0; for (int i = 0; i < SYNC_POINTS; i++) { m_fences[i] = 0; } }
Quad::Quad(int H,int W,int D, int X,int Y,int Z) { checkGlError("Quad tehty"); w=W; h=H; d=D; _speed = 1; glGenBuffers(1,&VBO); checkGlError("glGenBuffers"); GenBuffer(); setPosition(X,Y,Z); resize(w,h,d); Rotate = glm::mat4(1.0f); camera = new Camera(); }