New Overlay Suite in Review

56 views
Skip to first unread message

PierreJasmin_REVisionEffects

unread,
Sep 4, 2021, 11:55:02 AM9/4/21
to ofx-discussion

FYI:  The New Overlay Suite proposal is now in review process.
[protocol: minimum 30 days review - a member can raise an objection after that, which would trigger a vote]

(links below for current V1 proposal and original Issue)
Short form: This is an abstraction for overlay drawing to protect developers from all the graphics libraries fragmentation, in particular for those who might use Metal and DirectX or what not for their UI but not just for that (e.g. even with OpenGL with remote desktops...).

That said the Overlay.cpp in Examples should be updated so we all use the same sample plugin - if any volunteer for that chime in.


Pierre

PierreJasmin_REVisionEffects

unread,
Oct 29, 2021, 2:58:50 PM10/29/21
to ofx-discussion
OK no objections (time has been over 30 days review) - how do we push out to main branch?
And perhaps associate an issue to update Overlay example to work with this

Gary Oberbrunner

unread,
Oct 29, 2021, 7:34:11 PM10/29/21
to ofx-dis...@googlegroups.com
I will do the github work to merge it in.
Yes, please someone needs to update the example! Ideally in a compatible way with fallback for older hosts, but failing that at least use the new methods.

-- Gary

--
You received this message because you are subscribed to the Google Groups "ofx-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ofx-discussio...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ofx-discussion/59e98cca-9a4b-4f33-8217-e24f7876b36an%40googlegroups.com.


--
Gary

Gary Oberbrunner

unread,
Nov 9, 2021, 3:55:36 PM11/9/21
to ofx-dis...@googlegroups.com
Hi folks; I am ready to merge the draw suite. To do that I need confirmation of various things in the review process (see the github issue):

Host and plugin vendor who has implemented this: who are these? Please send a short video or images showing the feature. Are these members the same two members who hereby sign off on it?
Has someone done a compatibility review? Is there any compatibility impact? Can a plugin properly detect host support for this? Can a host support old and new plugins?
Has anyone addressed barretpj's note in the issue re: consistent digit count? Please submit an update (Phil?)
Someone needs to update the release notes. I can do that.
I will build the doc and check it.

Thanks,
Gary


--
Gary

Gary Oberbrunner

unread,
Nov 9, 2021, 4:49:15 PM11/9/21
to ofx-dis...@googlegroups.com
I will update some of the doc, but someone who understands this suite needs to update `Documentation/sources/Reference/ofxInteracts.rst`, the interacts page, to explain how to use the draw suite with it, remove or deprecate references to OpenGL, etc.
I will add the draw suite to the suites reference page in the doc.
--
Gary

Phil Barrett

unread,
Nov 17, 2021, 2:30:42 AM11/17/21
to ofx-dis...@googlegroups.com

On 2021-11-09 20:55, Gary Oberbrunner wrote:

 
Has anyone addressed barretpj's note in the issue re: consistent digit count? Please submit an update (Phil?)
 
 
Seeing what I can do, can't yet see how to get the feature branch into my fork.
 
Phil
-- 
Phil Barrett
FilmLight

Phil Barrett

unread,
Nov 17, 2021, 3:14:57 AM11/17/21
to ofx-dis...@googlegroups.com
We don't use pull requests in our git workflow at FilmLight so I'm not
familiar with this way of working: after half an hour battling with git
I can't make a clean pull request, for some reason I keep getting all
the typo fixes from commit c2d6802d2945810f201c20f26f8a045020e0be9b
showing up as diffs.

So here's a patch, someone can easily apply it.

Comment - if I was reviewing this code, I'd fail it because of the use
of enum values which the client code is expected to | together to pass
to an int parameter to drawText(). IMHO they should instead be const
[unsigned] ints, or #defines. But not going to hold things up for this.

Phil


diff --git a/include/ofxDrawSuite.h b/include/ofxDrawSuite.h
index dbe933f..41948a9 100644
--- a/include/ofxDrawSuite.h
+++ b/include/ofxDrawSuite.h
@@ -105,18 +105,15 @@ typedef enum OfxDrawPrimitive
kOfxDrawPrimitiveEllipse
} OfxDrawPrimitive;

-#if 0 // temp for hosts who have pre-official release in the wild
-#define kOfxDrawPrimitiveRectangles kOfxDrawPrimitiveRectangle
-#endif
-
/** @brief Defines text alignment values for OfxDrawSuiteV1::drawText
*/
+
enum
{
- kOfxDrawTextAlignmentLeft = 0x0001,
- kOfxDrawTextAlignmentRight = 0x0002,
- kOfxDrawTextAlignmentTop = 0x0004,
- kOfxDrawTextAlignmentBottom = 0x008,
- kOfxDrawTextAlignmentBaseline = 0x010,
+ kOfxDrawTextAlignmentLeft = 0x0001,
+ kOfxDrawTextAlignmentRight = 0x0002,
+ kOfxDrawTextAlignmentTop = 0x0004,
+ kOfxDrawTextAlignmentBottom = 0x0008,
+ kOfxDrawTextAlignmentBaseline = 0x0010,
kOfxDrawTextAlignmentCenterH = (kOfxDrawTextAlignmentLeft |
kOfxDrawTextAlignmentRight),
kOfxDrawTextAlignmentCenterV = (kOfxDrawTextAlignmentTop |
kOfxDrawTextAlignmentBaseline)
};


PierreJasmin_REVisionEffects

unread,
Nov 22, 2021, 1:16:16 PM11/22/21
to ofx-discussion
Will let someone else comment on this 
In Pull request someone wrote:
"One new POD type should be added to ofxCore.h."

Not sure what that means here?
Pierre

PierreJasmin_REVisionEffects

unread,
Dec 30, 2021, 12:55:02 PM12/30/21
to ofx-discussion
Wait, the suite uses OfxPointF which does not exists in API
Did not noticed as someone else here added it here in OfxCore
However I guess this should be edited to OfxPointD right, what is used everywhere?

Pierre 

Gary Oberbrunner

unread,
Dec 30, 2021, 1:14:30 PM12/30/21
to ofx-dis...@googlegroups.com
Yes, that seems correct to me. Please confirm that at least one host and a plugin have successfully implemented and tested this. A screen shot would be very helpful.

--
You received this message because you are subscribed to the Google Groups "ofx-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ofx-discussio...@googlegroups.com.


--
Gary

PierreJasmin_REVisionEffects

unread,
Dec 30, 2021, 4:34:39 PM12/30/21
to ofx-discussion
So do you or I change OfxPointF to OfxPointD in that suite file? and push to main release branch?

Yes it's as qualified as can be: We sent a modified internal test plugin to 4 hosts, one is shipping in beta  in maybe 10 days
(Would need to ask for permission for a screenshot)
It works in 3 (one we haven't seen working ourselves, their beta also coming soon so we can test).
For these 2 hosts at least, would be good it's the correct thing to start.
We also earlier tested Silhouette implementation but right now it needs to be special cased for the rect example (it assumes 4 instead of 2 pnts for rects). I think Paul Miller (not to talk for him) plans to improve support of suite in their next semi-annual release. 

Gary Oberbrunner

unread,
Dec 30, 2021, 5:11:50 PM12/30/21
to ofx-dis...@googlegroups.com
OK -- I am surprised it was working if the point type is incorrect (and surprised this would not be detected during implementation).
Please add the actual correct working-and-tested header changes in a PR, and I will merge the PR. (I should not make the change because I have no way to test it. It should not be pushed until it's ready.)

As previously mentioned, here are the tasks remaining. The key point is that two members (one host and one plugin) must sign off. I believe Pierre/RE:Vision is ready to sign off as the plugin vendor; who is the host who has tested it and is willing to sign off on it?

* Host and plugin vendor who has implemented this: who are these? Please send a short video or images showing the feature. Are these members the same two members who hereby sign off on it?
* Has someone done a compatibility review? Is there any compatibility impact? Can a plugin properly detect host support for this? Can a host support old and new plugins?
* Has anyone addressed barretpj's note in the issue re: consistent digit count? Please submit an update (Phil?)
* Someone needs to update the release notes. I can do that but need to see it working to understand what to put in the notes.
* I will build the doc and check it. (NOTE: I have done this, but will have to be repeated with final code.)




--
Gary

PierreJasmin_REVisionEffects

unread,
Dec 30, 2021, 6:04:25 PM12/30/21
to ofx-discussion
On Thursday, December 30, 2021 at 3:11:50 PM UTC-7 Gary Oberbrunner wrote:
OK -- I am surprised it was working if the point type is incorrect (and surprised this would not be detected during implementation).
Well we are just make it work programmers - a missing define is not going to stop us :)
I switched Point type to D - 
 
Please add the actual correct working-and-tested header changes in a PR, and I will merge the PR. (I should not make the change because I have no way to test it. It should not be pushed until it's ready.)
I was able to add to PR, for some reason it was gone for me  

As previously mentioned, here are the tasks remaining. The key point is that two members (one host and one plugin) must sign off. I believe Pierre/RE:Vision is ready to sign off as the plugin vendor; who is the host who has tested it and is willing to sign off on it?

need a co-signer :)
 

* Host and plugin vendor who has implemented this: who are these? Please send a short video or images showing the feature. Are these members the same two members who hereby sign off on it?

One is not member, see above
 
* Has someone done a compatibility review? Is there any compatibility impact? Can a plugin properly detect host support for this? Can a host support old and new plugins?
 
It's a suite (hand shake), if not supported by host we revert to old way.

 
* Has anyone addressed barretpj's note in the issue re: consistent digit count? Please submit an update (Phil?)

I don't understand his diff file from nov 17 - what he would like to change, but he said it's not a show stopper>
However we struggle here to with the PR process as like them it's not in our internal git process.
 
* Someone needs to update the release notes. I can do that but need to see it working to understand what to put in the notes.

Something like adds an abstraction layer over overlay drawing functions so plugin is protected at that level from host natively using name your API (directX, OpenGL, Vulkan, Metal, etc)
 

Gary Oberbrunner

unread,
Jan 1, 2022, 10:16:04 AM1/1/22
to ofx-dis...@googlegroups.com
OK, just send diffs ("git diff") to this list, along with a suggested commit message. I'll take it from there.



--
Gary
Reply all
Reply to author
Forward
0 new messages