讲一下osgParticle::PrecipitationEffect的所有方法
时间: 2024-01-06 17:03:42 浏览: 87
粒子系统实例-the lego mindstorms ev3 idea book
以下是osgParticle::PrecipitationEffect类的所有方法:
1. `PrecipitationEffect()`:构造函数。
2. `PrecipitationEffect(const PrecipitationEffect& copy, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY)`:复制构造函数。
3. `virtual const char* className() const`:返回当前对象的类名称。
4. `void setWind(const osg::Vec3& wind)`:设置风向和风速。
5. `const osg::Vec3& getWind() const`:获取当前的风向和风速。
6. `void setParticleColor(const osg::Vec4& color)`:设置粒子的颜色。
7. `const osg::Vec4& getParticleColor() const`:获取当前的粒子颜色。
8. `void setParticleRadius(float radius)`:设置粒子半径。
9. `float getParticleRadius() const`:获取当前的粒子半径。
10. `void setParticleDensity(float density)`:设置粒子密度。
11. `float getParticleDensity() const`:获取当前的粒子密度。
12. `void setParticleSizeRange(float minSize, float maxSize)`:设置粒子大小范围。
13. `void getParticleSizeRange(float& minSize, float& maxSize) const`:获取当前的粒子大小范围。
14. `void setTexture(osg::Texture* texture)`:设置粒子贴图。
15. `osg::Texture* getTexture() const`:获取当前的粒子贴图。
16. `void setUseLocalParticleSystem(bool useLocal)`:设置是否使用本地的粒子系统。
17. `bool getUseLocalParticleSystem() const`:获取是否使用本地的粒子系统。
18. `void setUseShaders(bool useShaders)`:设置是否使用着色器。
19. `bool getUseShaders() const`:获取是否使用着色器。
20. `void setWindSpeed(float speed)`:设置风速。
21. `float getWindSpeed() const`:获取当前的风速。
22. `void setWindDirection(const osg::Vec3& direction)`:设置风向。
23. `const osg::Vec3& getWindDirection() const`:获取当前的风向。
24. `void setWindVariance(const osg::Vec3& variance)`:设置风向的方差。
25. `const osg::Vec3& getWindVariance() const`:获取当前的风向方差。
26. `void setMaximumSimultaneousParticles(unsigned int maxParticles)`:设置最大同时粒子数。
27. `unsigned int getMaximumSimultaneousParticles() const`:获取当前的最大同时粒子数。
28. `void setParticleTemplate(osgParticle::Particle* particle)`:设置粒子模板。
29. `osgParticle::Particle* getParticleTemplate() const`:获取当前的粒子模板。
30. `virtual void setDefaults()`:设置默认值。
31. `virtual void setUpEmitterAndProgram()`:设置粒子发射器和程序。
32. `virtual void setUpParticleSystem()`:设置粒子系统。
33. `virtual void update(double dt)`:更新粒子系统。
34. `virtual void cull(osg::NodeVisitor* nv)`:剔除不需要渲染的粒子。
35. `virtual void drawImplementation(osg::RenderInfo& renderInfo) const`:渲染实现。
36. `virtual osg::BoundingBox computeBoundingBox() const`:计算边界框。
37. `virtual osg::BoundingSphere computeBoundingSphere() const`:计算边界球。
阅读全文