[Fix] Fix orientation of star glow.
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 798 B After Width: | Height: | Size: 15 KiB |
10
src/star.cpp
@ -19,12 +19,10 @@ void Star::SetPosition(vector3d p) {
|
|||||||
static void DrawCorona(double rad, vector3d& pos, const float col[3]) {
|
static void DrawCorona(double rad, vector3d& pos, const float col[3]) {
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
/* Face the camera damnit! */
|
/* Face the camera damnit! */
|
||||||
vector3d dir = vector3d::Normalize(pos);
|
vector3d zaxis = vector3d::Normalize(pos);
|
||||||
vector3d d2 = vector3d(0, 1, 0);
|
vector3d xaxis = vector3d::Normalize(vector3d::Cross(zaxis, vector3d(0, 1, 0)));
|
||||||
vector3d d3 = vector3d::Cross(dir, d2);
|
vector3d yaxis = vector3d::Cross(zaxis, xaxis);
|
||||||
d3.Normalize();
|
matrix4x4d rot = matrix4x4d::MakeRotMatrix(xaxis, yaxis, zaxis).InverseOf();
|
||||||
d2 = vector3d::Cross(dir, d3);
|
|
||||||
matrix4x4d rot = matrix4x4d::MakeRotMatrix(d3, d2, dir);
|
|
||||||
glMultMatrixd(&rot[0]);
|
glMultMatrixd(&rot[0]);
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
|