Changeset 151 in flair-src for trunk/lib/FlairSimulator
- Timestamp:
- Mar 1, 2017, 3:38:42 PM (8 years ago)
- Location:
- trunk/lib/FlairSimulator/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/FlairSimulator/src/Model_impl.cpp
r148 r151 204 204 205 205 nodeOrientation.ToEuler(euler); 206 ISceneNode::setRotation(Euler::ToDegree(1) * 207 vector3df(euler.roll, euler.pitch, euler.yaw)); 206 ISceneNode::setRotation(Euler::ToDegree(1) * vector3df(euler.roll,euler.pitch, euler.yaw)); 208 207 209 208 if (position_init == false) { -
trunk/lib/FlairSimulator/src/SimuCameraGL.cpp
r147 r151 59 59 index = 0; 60 60 61 buffer = (char *)malloc(width * height * 3);62 63 61 // user interface 64 62 Tab *setup_tab = new Tab(parent->GetTabWidget(), name); … … 86 84 glGenBuffersARB(PBO_COUNT, pboIds); 87 85 glBindBufferARB(GL_PIXEL_PACK_BUFFER_ARB, pboIds[0]); 88 glBufferDataARB(GL_PIXEL_PACK_BUFFER_ARB, width * height * 3 , 0,86 glBufferDataARB(GL_PIXEL_PACK_BUFFER_ARB, width * height * 3+sizeof(Time), 0, 89 87 GL_STREAM_READ_ARB); 90 88 glBindBufferARB(GL_PIXEL_PACK_BUFFER_ARB, pboIds[1]); 91 glBufferDataARB(GL_PIXEL_PACK_BUFFER_ARB, width * height * 3 , 0,89 glBufferDataARB(GL_PIXEL_PACK_BUFFER_ARB, width * height * 3+sizeof(Time), 0, 92 90 GL_STREAM_READ_ARB); 93 91 … … 95 93 } else { 96 94 use_pbo = false; 95 buffer = (char *)malloc(width * height * 3+sizeof(Time)); 97 96 Thread::Warn("GL_ARB_pixel_buffer_object is not suppoorted\n"); 98 97 } … … 106 105 107 106 SimuCameraGL::~SimuCameraGL() { 108 free(buffer);109 110 107 if (use_pbo) { 111 108 glDeleteBuffersARB(PBO_COUNT, pboIds); 112 109 free(pboIds); 110 } else { 111 free(buffer); 113 112 } 114 113 } … … 151 150 glBindBufferARB(GL_PIXEL_PACK_BUFFER_ARB, pboIds[index]); 152 151 glReadPixels(x, y, width, height, GL_BGR, GL_UNSIGNED_BYTE, 0); 153 152 Time time=GetTime(); 154 153 // map the PBO that contain framebuffer pixels before processing it 155 154 glBindBufferARB(GL_PIXEL_PACK_BUFFER_ARB, pboIds[nextIndex]); … … 157 156 GL_PIXEL_PACK_BUFFER_ARB, GL_READ_WRITE_ARB); // GL_READ_ONLY_ARB); 158 157 if (src) { 159 putImage((char *)src );158 putImage((char *)src,time); 160 159 glUnmapBufferARB( 161 160 GL_PIXEL_PACK_BUFFER_ARB); // release pointer to the mapped buffer … … 164 163 } else { 165 164 glReadPixels(x, y, width, height, GL_BGR, GL_UNSIGNED_BYTE, buffer); 166 putImage(buffer );165 putImage(buffer,GetTime()); 167 166 } 168 167 … … 173 172 } 174 173 175 void SimuCameraGL::putImage(char *buf ) {174 void SimuCameraGL::putImage(char *buf,Time imageTime) { 176 175 if (invert_pixel == true) { 177 176 // opengl images are horizontally flipped, so we have to fix that here. … … 189 188 delete[] tmpBuffer; 190 189 } 191 192 shmem->Write(buf, width * height * 3 );190 memcpy(buf+width * height * 3,&imageTime,sizeof(Time)); 191 shmem->Write(buf, width * height * 3+sizeof(Time)); 193 192 } 194 193 -
trunk/lib/FlairSimulator/src/SimuCameraGL.h
r15 r151 67 67 irr::scene::ISceneManager *newManager = 0); 68 68 void getImage(void); 69 void putImage(char *pixels );69 void putImage(char *pixels,core::Time imageTime); 70 70 irr::scene::ICameraSceneNode *camera; 71 71 irr::scene::ISceneManager *smgr;
Note:
See TracChangeset
for help on using the changeset viewer.