Advertisement
Guest User

random

a guest
Feb 28th, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.33 KB | None | 0 0
  1. #include"main.h"
  2.  
  3. class noise_Mods{
  4. public:
  5. noise_Mods();
  6. noise::module::Perlin perlin_Mod;
  7. utils::NoiseMap heightMap;
  8. utils::NoiseMapBuilderPlane heightMapBuilder;
  9. utils::RendererImage renderer;
  10. utils::Image image;
  11. sf::Vector2f image_Size;
  12. sf::Image noise_Map_Out;
  13. sf::Color noise_Color;
  14. sf::Texture texture;
  15. void draw(sf::RenderWindow* window);
  16. private:
  17. protected:
  18. };
  19. noise_Mods::noise_Mods(){
  20. image_Size = sf::Vector2f(1920,1080);
  21.  
  22. noise_Map_Out.create(image_Size.x,image_Size.y,sf::Color::White);
  23.  
  24. heightMapBuilder.SetSourceModule(perlin_Mod);
  25. heightMapBuilder.SetDestNoiseMap(heightMap);
  26. heightMapBuilder.SetDestSize(image_Size.x,image_Size.y);
  27. heightMapBuilder.SetBounds(100.0,110.0,100.0,110.0);
  28. heightMapBuilder.Build();
  29. renderer.SetSourceNoiseMap (heightMap);
  30. renderer.SetDestImage (image);
  31. renderer.ClearGradient ();
  32. renderer.AddGradientPoint (-1.0000, utils::Color ( 0, 0, 128, 255)); // deeps
  33. renderer.AddGradientPoint (-0.2500, utils::Color ( 0, 0, 255, 255)); // shallow
  34. renderer.AddGradientPoint ( 0.0000, utils::Color ( 0, 128, 255, 255)); // shore
  35. renderer.AddGradientPoint ( 0.0625, utils::Color (240, 240, 64, 255)); // sand
  36. renderer.AddGradientPoint ( 0.1250, utils::Color ( 32, 160, 0, 255)); // grass
  37. renderer.AddGradientPoint ( 0.3750, utils::Color (224, 224, 0, 255)); // dirt
  38. renderer.AddGradientPoint ( 0.7500, utils::Color (128, 128, 128, 255)); // rock
  39. renderer.AddGradientPoint ( 1.0000, utils::Color (255, 255, 255, 255)); // snow
  40. renderer.EnableLight();
  41. renderer.SetLightContrast (3.0);
  42. renderer.SetLightBrightness (2.0);
  43. renderer.Render();
  44. for(int x=0;x<image_Size.x;x++){
  45. for(int y=0;y<image_Size.y;y++){
  46. noise::utils::Color temp=image.GetValue(x,y);
  47. noise_Color=sf::Color(temp.red,temp.green,temp.blue);
  48. noise_Map_Out.setPixel(x,y,noise_Color);
  49. }
  50. }
  51. texture.loadFromImage(noise_Map_Out,sf::IntRect(0.0,0.0,image_Size.x,image_Size.y));
  52. }
  53. void noise_Mods::draw(sf::RenderWindow* window){
  54. window->draw(sf::Sprite(texture));
  55. }
  56. //Contain the scene as a whole
  57. class sfml_Window{
  58. public:
  59. sfml_Window();
  60. sf::RenderWindow* get_Window_Pointer();
  61. private:
  62. sf::RenderWindow window;
  63. protected:
  64. };
  65. sfml_Window::sfml_Window(){
  66.  
  67. }
  68. sf::RenderWindow* sfml_Window::get_Window_Pointer(){
  69. return &window;
  70. }
  71.  
  72. //Any thing that requires any kind of data storage inside the scene
  73. class object{
  74. public:
  75. object();
  76. private:
  77. sf::Sprite self_Sprite;
  78. sf::Vector2f velocity;
  79. protected:
  80. };
  81. object::object(){
  82.  
  83. }
  84.  
  85. int main(){
  86.  
  87. sfml_Window window;
  88. noise_Mods mods;
  89. sf::RenderWindow* window_Pointer=window.get_Window_Pointer();
  90. window_Pointer->create(sf::VideoMode(1920,1080),"Lines!");
  91. window_Pointer->setVerticalSyncEnabled(true);
  92. sf::Event event;
  93. while(window_Pointer->isOpen()){
  94. while(window_Pointer->pollEvent(event)){
  95. switch(event.type){
  96. case sf::Event::Closed:
  97. window_Pointer->close();
  98. break;
  99. }
  100. }
  101. window_Pointer->clear(sf::Color::Black);
  102. mods.draw(window_Pointer);
  103. window_Pointer->display();
  104. }
  105. return 1;
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement