Changeset 8242 in orxonox.OLD for branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.cc
- Timestamp:
- Jun 8, 2006, 2:04:37 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.cc
r8023 r8242 53 53 } 54 54 55 56 55 if(snowActivate) 56 this->activate(); 57 57 } 58 58 … … 76 76 LoadParam(root, "emissionRate", this, SnowEffect, emissionRate); 77 77 LoadParam(root, "emissionVelocity", this, SnowEffect, emissionVelocity); 78 78 LoadParam(root, "wind", this, SnowEffect, wind); 79 79 LoadParam(root, "size", this, SnowEffect, size); 80 80 LoadParam(root, "coord", this, SnowEffect, coord); 81 81 82 83 84 85 86 82 LOAD_PARAM_START_CYCLE(root, element); 83 { 84 LoadParam_CYCLE(element, "option", this, SnowEffect, setSnowOption); 85 } 86 LOAD_PARAM_END_CYCLE(element); 87 87 } 88 88 … … 92 92 93 93 // Default values 94 95 94 this->snowActivate = false; 95 this->snowMove = false; 96 96 this->particles = 12000; 97 97 this->texture = "maps/snow_flake_01_32x32.png"; … … 109 109 this->alpha = 0.5; 110 110 this->snowSize = Vector2D(2500, 2500); 111 111 this->snowCoord = Vector(100,450,400); 112 112 this->snowWindForce = 1; 113 114 // this->activated = false;115 113 } 116 114 … … 118 116 { 119 117 PRINTF(0)("Activating SnowEffect\n"); 120 // activated = true; 118 119 this->snowActivate = true; 121 120 122 121 SnowEffect::snowParticles = new SpriteParticles(particles); … … 140 139 this->emitter->setSize(snowSize); 141 140 142 //SnowEffect::snowParticles->precache(8);141 // SnowEffect::snowParticles->precache(8); 143 142 144 143 if (this->snowWindForce > 1) … … 150 149 { 151 150 PRINTF(0)("Deactivating SnowEffect\n"); 152 //activated = false; 153 151 152 this->snowActivate = false; 154 153 this->emitter->setSystem(NULL); 155 154 … … 161 160 void SnowEffect::draw() const 162 161 { 162 if (!this->snowActivate) 163 return; 163 164 } 164 165 165 166 void SnowEffect::tick(float dt) 166 {/* 167 float distance = (State::getCameraNode()->getAbsCoor() - Vector(snowCoord.x, State::getCameraNode()->getAbsCoor().y, snowCoord.z)).len(); 168 169 if(activated) 170 { 171 if(distance > 0.3*snowSize.x || distance > 0.3*snowSize.y) 172 this->deactivate(); 173 else if(distance > 0.25*snowSize.x || distance > 0.25*snowSize.y) 174 this->alpha = 0.15; 175 else if(distance > 0.2*snowSize.x || distance > 0.2*snowSize.y) 176 this->alpha = 0.25; 177 else if(distance > 0.1*snowSize.x || distance > 0.1*snowSize.y) 178 this->alpha = 0.4; 179 180 SnowEffect::snowParticles->setColor(0,1, 1, 1, alpha); 181 SnowEffect::snowParticles->setColor(.5, .6, .6, .6, alpha/2); 182 SnowEffect::snowParticles->setColor(1, .0, .0, .0, .0); 183 } 184 else 185 { 186 if(distance < 0.3*snowSize.x || distance < 0.3*snowSize.y ) 187 this->activate(); 188 if( distance < 0.25*snowSize.x || distance < 0.25*snowSize.y ) 189 this->alpha = 0.25; 190 else if( distance < 0.2*snowSize.x || distance < 0.2*snowSize.y ) 191 this->alpha = 0.4; 192 else if( distance < 0.1*snowSize.x || distance < 0.1*snowSize.y ) 193 this->alpha = 0.5; 194 195 SnowEffect::snowParticles->setColor(0,1, 1, 1, alpha); 196 SnowEffect::snowParticles->setColor(.5, .6, .6, .6, alpha/2); 197 SnowEffect::snowParticles->setColor(1, .0, .0, .0, .0); 198 }*/ 199 if (this->snowMove) { 200 this->snowCoord = State::getCameraNode()->getAbsCoor(); 201 this->emitter->setRelCoor(this->snowCoord.x , this->snowCoord.y+300, this->snowCoord.z); 202 } 203 } 204 167 { 168 if (!this->snowActivate) 169 return; 170 171 /* 172 float distance = (State::getCameraNode()->getAbsCoor() - Vector(snowCoord.x, State::getCameraNode()->getAbsCoor().y, snowCoord.z)).len(); 173 174 if(activated) 175 { 176 if(distance > 0.3*snowSize.x || distance > 0.3*snowSize.y) 177 this->deactivate(); 178 else if(distance > 0.25*snowSize.x || distance > 0.25*snowSize.y) 179 this->alpha = 0.15; 180 else if(distance > 0.2*snowSize.x || distance > 0.2*snowSize.y) 181 this->alpha = 0.25; 182 else if(distance > 0.1*snowSize.x || distance > 0.1*snowSize.y) 183 this->alpha = 0.4; 184 185 SnowEffect::snowParticles->setColor(0,1, 1, 1, alpha); 186 SnowEffect::snowParticles->setColor(.5, .6, .6, .6, alpha/2); 187 SnowEffect::snowParticles->setColor(1, .0, .0, .0, .0); 188 } 189 else 190 { 191 if(distance < 0.3*snowSize.x || distance < 0.3*snowSize.y ) 192 this->activate(); 193 if( distance < 0.25*snowSize.x || distance < 0.25*snowSize.y ) 194 this->alpha = 0.25; 195 else if( distance < 0.2*snowSize.x || distance < 0.2*snowSize.y ) 196 this->alpha = 0.4; 197 else if( distance < 0.1*snowSize.x || distance < 0.1*snowSize.y ) 198 this->alpha = 0.5; 199 200 SnowEffect::snowParticles->setColor(0,1, 1, 1, alpha); 201 SnowEffect::snowParticles->setColor(.5, .6, .6, .6, alpha/2); 202 SnowEffect::snowParticles->setColor(1, .0, .0, .0, .0); 203 }*/ 204 205 if (this->snowMove) { 206 this->snowCoord = State::getCameraNode()->getAbsCoor(); 207 this->emitter->setRelCoor(this->snowCoord.x , this->snowCoord.y+300, this->snowCoord.z); 208 } 209 }
Note: See TracChangeset
for help on using the changeset viewer.