Showing the changes to interface/src/ParticleSystem.cpp (1 of 2 files). Show all
Unified · Split
| @@ -367,12 +367,9 @@ void ParticleSystem::renderParticle(int p) { · 366 unmodified lines | ||
| 367 | 367 | |
| 368 | 368 | v /= distance; |
| 369 | 369 | |
| 370 | − glm::vec3 up = glm::normalize(glm::cross(v, _upDirection)); | |
| 371 | − glm::vec3 right = glm::normalize(glm::cross(up, v)); | |
| 372 | − | |
| 373 | − right *= _particle[p].radius; | |
| 374 | − up *= _particle[p].radius; | |
| 375 | − | |
| 370 | + glm::vec3 up = glm::normalize(glm::cross(v, _upDirection)) * _particle[p].radius; | |
| 371 | + glm::vec3 right = glm::normalize(glm::cross(up, v )) * _particle[p].radius; | |
| 372 | + | |
| 376 | 373 | glm::vec3 p0Left = _particle[p ].position - right; |
| 377 | 374 | glm::vec3 p0Right = _particle[p ].position + right; |
| 378 | 375 | glm::vec3 p0Down = _particle[p ].position - up; |
| @@ -383,28 +380,40 @@ void ParticleSystem::renderParticle(int p) { · 4 unmodified lines | ||
| 383 | 380 | glm::vec3 ppDown = _particle[pp].position - up; |
| 384 | 381 | glm::vec3 ppUp = _particle[pp].position + up; |
| 385 | 382 | |
| 386 | − glBegin(GL_TRIANGLES); | |
| 387 | − glVertex3f(p0Left.x, p0Left.y, p0Left.z ); | |
| 388 | − glVertex3f(p0Right.x, p0Right.y, p0Right.z ); | |
| 389 | − glVertex3f(ppLeft.x, ppLeft.y, ppLeft.z ); | |
| 390 | − glEnd(); | |
| 391 | − | |
| 392 | − glBegin(GL_TRIANGLES); | |
| 393 | − glVertex3f(p0Right.x, p0Right.y, p0Right.z ); | |
| 394 | − glVertex3f(ppLeft.x, ppLeft.y, ppLeft.z ); | |
| 395 | − glVertex3f(ppRight.x, ppRight.y, ppRight.z ); | |
| 396 | − glEnd(); | |
| 397 | − | |
| 398 | − glBegin(GL_TRIANGLES); | |
| 399 | − glVertex3f(p0Up.x, p0Up.y, p0Up.z ); | |
| 400 | − glVertex3f(p0Down.x, p0Down.y, p0Down.z ); | |
| 401 | − glVertex3f(ppDown.x, ppDown.y, ppDown.z ); | |
| 402 | − glEnd(); | |
| 403 | − | |
| 404 | − glBegin(GL_TRIANGLES); | |
| 405 | − glVertex3f(p0Up.x, p0Up.y, p0Up.z ); | |
| 406 | − glVertex3f(ppUp.x, ppUp.y, ppUp.z ); | |
| 407 | − glVertex3f(ppDown.x, ppDown.y, ppDown.z ); | |
| 383 | + glBegin(GL_TRIANGLES); | |
| 384 | + | |
| 385 | + glVertex3f(p0Left.x, p0Left.y, p0Left.z ); | |
| 386 | + glVertex3f(p0Right.x, p0Right.y, p0Right.z ); | |
| 387 | + glVertex3f(ppLeft.x, ppLeft.y, ppLeft.z ); | |
| 388 | + | |
| 389 | + glVertex3f(p0Right.x, p0Right.y, p0Right.z ); | |
| 390 | + glVertex3f(ppLeft.x, ppLeft.y, ppLeft.z ); | |
| 391 | + glVertex3f(ppRight.x, ppRight.y, ppRight.z ); | |
| 392 | + | |
| 393 | + glVertex3f(p0Up.x, p0Up.y, p0Up.z ); | |
| 394 | + glVertex3f(p0Down.x, p0Down.y, p0Down.z ); | |
| 395 | + glVertex3f(ppDown.x, ppDown.y, ppDown.z ); | |
| 396 | + | |
| 397 | + glVertex3f(p0Up.x, p0Up.y, p0Up.z ); | |
| 398 | + glVertex3f(ppUp.x, ppUp.y, ppUp.z ); | |
| 399 | + glVertex3f(ppDown.x, ppDown.y, ppDown.z ); | |
| 400 | + | |
| 401 | + glVertex3f(p0Up.x, p0Up.y, p0Left.z ); | |
| 402 | + glVertex3f(p0Right.x, p0Right.y, p0Right.z ); | |
| 403 | + glVertex3f(p0Down.x, p0Down.y, p0Down.z ); | |
| 404 | + | |
| 405 | + glVertex3f(p0Up.x, p0Up.y, p0Left.z ); | |
| 406 | + glVertex3f(p0Left.x, p0Left.y, p0Left.z ); | |
| 407 | + glVertex3f(p0Down.x, p0Down.y, p0Down.z ); | |
| 408 | + | |
| 409 | + glVertex3f(ppUp.x, ppUp.y, ppLeft.z ); | |
| 410 | + glVertex3f(ppRight.x, ppRight.y, ppRight.z ); | |
| 411 | + glVertex3f(ppDown.x, ppDown.y, ppDown.z ); | |
| 412 | + | |
| 413 | + glVertex3f(ppUp.x, ppUp.y, ppLeft.z ); | |
| 414 | + glVertex3f(ppLeft.x, ppLeft.y, ppLeft.z ); | |
| 415 | + glVertex3f(ppDown.x, ppDown.y, ppDown.z ); | |
| 416 | + | |
| 408 | 417 | glEnd(); |
| 409 | 418 | } |
| 410 | 419 | } |