100 likes | 222 Views
Status – Week 255. Victor Moya. Summary. Command Processor. Memory Controller. Streamer. Vertex buffers in OpenGL. ARB_vertex_buffer_object. Command Processor. Missing comunication. Missing AGP_READ and AGP_REG_READ (not useful right now). Memory Controller.
E N D
Status – Week 255 Victor Moya
Summary • Command Processor. • Memory Controller. • Streamer. • Vertex buffers in OpenGL. • ARB_vertex_buffer_object.
Command Processor • Missing comunication. • Missing AGP_READ and AGP_REG_READ (not useful right now).
Memory Controller • Missing access to memory modules delay (a signal?). • To decide: number of transactions in process at the same time. • Currently only one transaction at a time. • Methodology for multiple transactions: time multiplexing?
Streamer • To do.
Vertex Arrays in OpenGL • VertexPointer(int size, enum type, sizei stride, void *pointer). • NormalPointer(enum type, sizei stride, void *pointer). • ColorPointer(int size, enum type, sizei stride, void *pointer). • SecondaryColorPointer(int size, enum type, sizei stride, void *pointer). • IndexPointer(enum type, sizei stride, void *pointer). • FogCoordPointer(enum type, sizei stride, void *pointer). • TexCoordPointer(int size, enum type, sizei stride, void *pointer). • EdgeFlagPointer(sizei stride, void *pointer).
Vertex Arrays in OpenGL • DrawArrays(enum mode, int first, sizei count). • MultiDrawArrays(enum mode, int *first, sizei *count, sizei primcount). • DrawElements(enum mode, sizei count, enum type, void *indices). • MultiDrawElements(enum mode, sizei *count, enum type, void **indices, sizei primcount). • DrawRangeElements(enum mode, uint start, unit end, sizei count, enum type, void *indices). • InterleaveArrays(enum format, sizei stride, void *pointer).
ARB_vertex_buffer_object • BindBufferARB(enum target, uint buffer). • DeleteBuffersARB(sizei n, const uint *buffers). • GenBuffersARB(sizei n, uint *buffers). • boolean IsBufferARB(uint buffer). • BufferDataARB(enum target, sizeiptrARB size, const void *data, enum usage). • BufferSubDataARB(enum target, intptrARB offset, sizeiptrARB size, const void *data). • GetBufferSubDataARB(enum target, intptrARB offset, sizeiptrARB size, void *data). • void *MapBufferARB(enum target, enum access). • boolean UnMapBufferARB(enum target).
ARB_vertex_buffer_object • target: • ARRAY_BUFFER_ARB. • ELEMENT_ARRAY_BUFFER_ARB. • usage: • STREAM_DRAW_ARB • STREAM_READ_ARB • STREAM_COPY_ARB • STATIC_DRAW_ARB • STATIC_READ_ARB • STATIC_COPY_ARB • DYNAMIC_DRAW_ARB • DYNAMIC_READ_ARB • DYNAMIC_COPY_ARB
ARB_vertex_buffer_object • access: • READ_ONLY_ARB. • WRITE_ONLY_ARB. • READ_WRITE_ARB.