Texture Expansion Behavior in setBufferScale Function #44
-
Hi, I've noticed that when using setBufferScale, the texture expansion seems to occur only towards the right and bottom sides, with the top left corner remaining stationary at coordinates (0,0). I'm wondering if it's feasible to modify this behavior so that texture expansion can occur from any corner or even in between at certain points? |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 16 replies
-
First of all, the purpose of view.enableDstSize(true);
view.setDstSize(newSize);
view.setPos(view.nativePos() - newSize / 2); Now, I may have misunderstood you, perhaps what you want is to crop the texture and use only a sub-rectangle of it, for that, you should use |
Beta Was this translation helpful? Give feedback.
-
im zooming in and out of the desktop it works for the first desktop but i can also side scroll up and also down right left to different desktops which works, but as for zooming into different desktop say in 4x4 grid that i have setup i can`t control the scaling so it wouldnt work for zooming into other desktops as i am using output->setScale for zooming in and out, where as i think i should be using view.enableDstSize(true); view.setDstSize(newSize); view.setPos(view.nativePos() - newSize / 2); void ECompositor::setupAutomaticZoom()
} |
Beta Was this translation helpful? Give feedback.
-
Are you trying to do something like this ? |
Beta Was this translation helpful? Give feedback.
-
hi ive just made a video i`ll give the link in next message once it finished uploading, it is similar to that yes zooming into workspaces... |
Beta Was this translation helpful? Give feedback.
-
Global Coordinate SystemFirstly, it's important to grasp that there is a unified compositor global space coordinate system which uses surface coordinates as units. This implies that you can organize outputs in this space as desired. For instance, in both the tutorial and the default Louvre implementation of This implies that if you set the position of a view to (0, 0), it will appear in the top-left corner of the first output but not the second. If you wish to display it in the second output, you need to set its position equal to To summarize, it's crucial to understand that all outputs do not possess their own coordinate system starting at (0,0); only the first one (if using the default Louvre arranging approach) does. Scene and ViewsTo streamline rendering for all outputs, you can create a single The InitializationThe When you invoke By plugging Views can be modified from any thread, but they will only be rendered on a specific output when So, you can create a |
Beta Was this translation helpful? Give feedback.
Hmm, first of all, an
LOutput
represents a single display. For instance, if you're using your laptop alone, there should be a singleLOutput
. If you hotplug another display, such as a TV or external monitor, then there would be 2LOutputs
.If you followed the tutorial, you probably created your own
LOutput
subclass (EOutput
). In this case, you don't need to use any map to link the views with each output. You could simply add it as a member ofEOutput
, and then each output will have its own rootLLayerView
.