git-svn-id: svn://db.shs.com.ru/libs@540 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -110,11 +110,10 @@ void GLParticlesSystem::update() {
|
||||
|
||||
void GLParticlesSystem::draw(QOpenGLShaderProgram * prog, bool) {
|
||||
if (particles.isEmpty()) return;
|
||||
if (view_ == 0) return;
|
||||
QGLCI
|
||||
if (view_ == nullptr) return;
|
||||
pass_ = GLObjectBase::Transparent;
|
||||
Camera & camera(view_->camera());
|
||||
QVector3D apos = camera.pos(), dir = camera.direction();
|
||||
Camera * camera(view_->camera());
|
||||
QVector3D apos = camera->pos(), dir = camera->direction();
|
||||
//qDebug() << dir;
|
||||
//qDebug() << camera.angles();
|
||||
//qDebug() << camera.angle_xy;
|
||||
@@ -124,9 +123,9 @@ void GLParticlesSystem::draw(QOpenGLShaderProgram * prog, bool) {
|
||||
tr_b = material_.color_diffuse.blueF(),
|
||||
tr_a = material_.color_diffuse.alphaF() * (1.f - material_.transparency);
|
||||
//cxys = sin(camera.angle_xy * deg2rad);
|
||||
cxyc = cos(camera.angles_.y() * deg2rad);
|
||||
czs = sin(camera.angles_.z() * deg2rad);
|
||||
czc = cos(camera.angles_.z() * deg2rad);
|
||||
cxyc = cosf(camera->angles_.y() * deg2rad);
|
||||
czs = sinf(camera->angles_.z() * deg2rad);
|
||||
czc = cosf(camera->angles_.z() * deg2rad);
|
||||
|
||||
dx = -czc;
|
||||
dy = czs;
|
||||
@@ -161,7 +160,7 @@ void GLParticlesSystem::draw(QOpenGLShaderProgram * prog, bool) {
|
||||
colors << tr_r << tr_g << tr_b << a;
|
||||
colors << tr_r << tr_g << tr_b << a;
|
||||
if (add_vert_face) {
|
||||
if (cxyc > 0.) {
|
||||
if (cxyc > 0.f) {
|
||||
vertices << i.pos.x() - cdx << i.pos.y() - cdy << i.pos.z();
|
||||
vertices << i.pos.x() + cdx << i.pos.y() - cdy << i.pos.z();
|
||||
vertices << i.pos.x() + cdx << i.pos.y() + cdy << i.pos.z();
|
||||
@@ -187,7 +186,7 @@ void GLParticlesSystem::draw(QOpenGLShaderProgram * prog, bool) {
|
||||
glEnableClientState(GL_VERTEX_ARRAY);
|
||||
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
glEnableClientState(GL_COLOR_ARRAY);
|
||||
QGLC glBindBuffer(GL_ARRAY_BUFFER, 0);
|
||||
glBindBuffer(GL_ARRAY_BUFFER, 0);
|
||||
//glNormal3f(vn.x(), vn.y(), vn.z());
|
||||
glNormal3f(0., 0., 1.);
|
||||
glDepthMask(false);
|
||||
|
||||
Reference in New Issue
Block a user