Ok, I can help on the shaders field or the frame scheduling ( I'm not really experienced with xorg) the upstream is on svn? I need to study the current code...
Do you have any paper of the overall design of CoreAnimation?
Currently gnustep seems to have not a roadmap but this project has one?
Just another question are you sure to use directly opengl?
For example Clutter uses CoGL that wraps opengl and make a common api between opengl and opengles; skia also supports both opengl and gles... i have seen a lot of mails talking about uikit but opengl is not supported on mobile...
Ok, I can help on the shaders field or the frame scheduling ( I'm not really experienced with xorg) the upstream is on svn? I need to study the current code...
Do you have any paper of the overall design of CoreAnimation?
Currently gnustep seems to have not a roadmap but this project has one?
Just another question are you sure to use directly opengl?
For example Clutter uses CoGL that wraps opengl and make a common api between opengl and opengles; skia also supports both opengl and gles... i have seen a lot of mails talking about uikit but opengl is not supported on mobile...
Hi
As you know, CG and CA is definitely a necessity for our project. As soon as I can get my hands on someone who knows their ways around Open[GL/CL/VG] etc I will put them to work on helping you implementing this in GNUstep :)
--Johannes Lundberg
_______________________________________________
Discuss-gnustep mailing list
Discuss...@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
Please look at "authors" section - in a lot of cases I was being very courteous by leaving the previous author in, despite actually filling out the implementation and fixing the headers :-)
So the empty files are more of a remnant that "will be useful some day".
I picked what I would implement based on following:
* we need something useful that animates
* that doesn't include integration with AppKit - larger effort than realistically possible
* there is a non-integrated way to render content that Apple exposes: CARenderer
* content is represented by CALayer
* CALayer needs to support CGImageRef content and dynamically provided content drawn into CGContextRef
* animation is represented by CAAnimation
* simplest tweens are implemented with CABasicAnimation
* timing functions need some awesome math to work correctly, and need to be carefully implemented to work in the way OS X and iOS developers use them (or at least use them most often)
* CALayers support 3D transforms and, in fact, depend on them for doing even simplest rotations - we need matrix math
* shaders were implemented so we can do blurring [unfinished] and masking [not done yet] in hardware
* we need an observer to create implicit animations
End result was the nice (simple, but nice) demo that included implicit and explicit animations, shadows, elementary content clipping, 3D transform with a perspective matrix.
And work on anything else is now a matter of plugging right component in the right place. Need a more complex variety of CAAnimation? Just write it. Hard unfinished parts (such as correctly functioning -nextFrameTime plus a way for CALayer or CAAnimation to notify CARenderer to notify hosting framework or application that there was a change in timing and that -nextFrameTime changed).
If I left anything important out, let me know and I'll be happy to provide reasoning.
What I didn't implement?
* CVDisplayLink depends on having Core Video. Or at least a nice way to sync with, well, vsync. And it needs a place to live. QC, despite its misleading name, is a Core Animation implementation right now; it isn't the right place for it. -- besides, CVDisplayLink would be interesting to the hosting app/framework, not CA.
* Same for CADisplayLink
And why are the headers such as CAEAGLLayer there? They were put there by someone else, but do no harm and might be useful someday. Why not have a CAEAGLLayer on desktop Linux? We have implementations of OpenGL ES on desktop anyway.
Hope this clears stuff up :-)