Changeset 2837 for trunk/packages/vizservers/nanovis/RenderVertexArray.cpp
- Timestamp:
- Mar 9, 2012 5:11:37 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/nanovis/RenderVertexArray.cpp
r2800 r2837 35 35 * ====================================================================== 36 36 */ 37 #include <stdio.h> 38 39 #include <GL/glew.h> 40 #include <GL/gl.h> 41 37 42 #include "RenderVertexArray.h" 38 43 #include "Trace.h" 39 #include <GL/gl.h>40 #include <stdio.h>41 44 42 45 RenderVertexArray::RenderVertexArray(int nverts, GLint size, GLenum type) : 43 m_usage(GL_STREAM_COPY),44 m_nverts(nverts),45 m_size(size),46 m_type(type)46 _usage(GL_STREAM_COPY), 47 _nverts(nverts), 48 _size(size), 49 _type(type) 47 50 { 48 switch (m_type) {51 switch (_type) { 49 52 case GL_HALF_FLOAT_NV: 50 m_bytes_per_component = 2; break;53 _bytes_per_component = 2; break; 51 54 case GL_FLOAT: 52 m_bytes_per_component = sizeof(float); break;55 _bytes_per_component = sizeof(float); break; 53 56 default: 54 57 ERROR("unsupported RenderVertexArray type\n"); … … 57 60 58 61 // create the buffer object 59 glGenBuffersARB(1, & m_buffer);60 glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, m_buffer);62 glGenBuffersARB(1, &_buffer); 63 glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, _buffer); 61 64 glBufferDataARB(GL_PIXEL_PACK_BUFFER_EXT, 62 m_nverts*m_size*m_bytes_per_component, 0, m_usage); // undefined data65 _nverts*_size*_bytes_per_component, 0, _usage); // undefined data 63 66 glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, 0); 64 67 65 68 // set equivalent image format 66 switch( m_size) {69 switch(_size) { 67 70 case 1: 68 m_format = GL_LUMINANCE; break;71 _format = GL_LUMINANCE; break; 69 72 case 3: 70 m_format = GL_RGB; break;73 _format = GL_RGB; break; 71 74 case 4: 72 m_format = GL_RGBA; break;75 _format = GL_RGBA; break; 73 76 default: 74 77 ERROR("unsupported RenderVertexArray size\n"); … … 79 82 RenderVertexArray::~RenderVertexArray() 80 83 { 81 glDeleteBuffersARB(1, & m_buffer);84 glDeleteBuffersARB(1, &_buffer); 82 85 } 83 86 … … 86 89 { 87 90 // load data to buffer object 88 glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, m_buffer);91 glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, _buffer); 89 92 glBufferDataARB(GL_PIXEL_PACK_BUFFER_EXT, 90 m_nverts*m_size*m_bytes_per_component, data, m_usage);93 _nverts*_size*_bytes_per_component, data, _usage); 91 94 glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, 0); 92 95 } … … 96 99 { 97 100 // bind buffer object to pixel pack buffer 98 glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, m_buffer);101 glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, _buffer); 99 102 // read from frame buffer to buffer object 100 103 //glReadBuffer(buffer); //crash 101 glReadPixels(0, 0, w, h, m_format, m_type, 0);104 glReadPixels(0, 0, w, h, _format, _type, 0); 102 105 103 106 glBindBufferARB(GL_PIXEL_PACK_BUFFER_EXT, 0); … … 108 111 { 109 112 // bind buffer object to vertex array 110 glBindBufferARB(GL_ARRAY_BUFFER, m_buffer);111 //glVertexAttribPointerARB(index, m_size, m_type, GL_FALSE, 0, 0); //doesn't work112 glVertexPointer( m_size, m_type, 0, 0);113 glBindBufferARB(GL_ARRAY_BUFFER, _buffer); 114 //glVertexAttribPointerARB(index, _size, _type, GL_FALSE, 0, 0); //doesn't work 115 glVertexPointer(_size, _type, 0, 0); 113 116 114 117 glBindBufferARB(GL_ARRAY_BUFFER, 0);
Note: See TracChangeset
for help on using the changeset viewer.