Hello.
When i am drawing sf::VertexArray onto a sf::RenderTexture, the sf::VertexArray is in global space and sf::RenderTexture is in local 0, 0 thus i do not know how to align those two so i would draw VertexArray with transform? that would set its world coordinate to 0, 0.
I have a sf::View that i use and it centers on a units X and Y coordinate.
i am using sfml coordinate system having 0, 0 at left down corner and x axis goes right intro + and y axis goes down intro +.
When unit is at x = 1000, y = 1000 and i want to draw something on screen i draw its position 1000, 1000 at it ends up in center of screen.
But now i have unit at x = 1000, y = 1000. The texture is supposed to start from XPos= (Unit.x - Screen_Width / 2), YPos= (Unit.y - Screen_Height / 2) but it starts with 0, thus when i draw vertexArray onto RenderTexture and then use sf::Sprite to set its position to (XPos, YPos), i don't see the VertexArray because it was out of bounds, how do i correct the position of vertexArray instead of repositioning all vertices each draw?
//Small preview code
sf::View view;
sf::RenderTexture renTex;
sf::VertexArray verArr;
sf::Vector2f unit;//Represents position
sf::RenderWindow renWin;
int Window_Width = 800;
int Window_Height = 600;
int block_unitSize = 32;
sf::renderState renState;//Used for texture
//Execution
renTex.create(Window_Width, Window_Height);//Create texture 800x600
unit = sf::Vector2f(1000.f, 1000.f);
view.setCenter(unit);
renWin.setView(view);
verArr.setPrimitiveType(sf::Quads);
//Square of a vertexArray with size of 32 at pos X,Y = 1000
verArr.append(sf::Vector2f(1000, 1000));
verArr.append(sf::Vector2f(1000+block_unitSize, 1000));
verArr.append(sf::Vector2f(1000+block_unitSize, 1000+block_unitSize));
verArr.append(sf::Vector2f(1000, 1000+block_unitSize));
//Draw verArr to renWin, the rectangle will be starting from center of screen going right down
renWin.draw(verArr, renState);
renTex.clear(sf::Color::Black);//Clear with black color
renTex.draw(verArr, renState);//The recatngle goes out of screen thus the whole renTex is black
renTex.display();
sf::Sprite spr;
spr.setTexture(renTex.getTexture());
spr.setPosition(view.getCenter().x - Window_Width /2, view.getCenter().y - Window_Height /2);
renWin.draw(spr);
So the question is, how do i get the VertexArray to draw at renTex and renWin the same thing at same position in this case?