Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .hgignore → .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
syntax: glob
*/obj/*
*/QuartzCore.framework/*
*/derived_src/*
Expand All @@ -9,4 +8,8 @@ Tests/CATransform3D/catransform3d*
Tests/CAMediaTimingFunction/camediatimingfunction*
Tests/*.app/*
_notes/*

**/.vscode
**/compile_commands.json
**/.cache
Demo/*.app
**/stamp.make
2 changes: 1 addition & 1 deletion CAAppKitBridge/Demo/DemoController.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
#import <AppKit/NSOpenGL.h>
#import <AppKit/NSApplication.h>
#import <AppKit/NSMenu.h>
#import <GL/gl.h>
#import <GL/glew.h>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But, GLEW is different than base OpenGL headers?

I'd like to learn more about why this additional dependency is being added. Which system is missing gl.h but has glew.h?

#import "../Source/GSCAData.h"
#import "../Source/NSView+CAMethods.h"

Expand Down
2 changes: 1 addition & 1 deletion Demo/DemoOpenGLView.m
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
#import "DemoOpenGLView.h"

#if !(__APPLE__)
#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#else
#import <OpenGL/gl.h>
Expand Down
6 changes: 1 addition & 5 deletions INSTALL.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,7 @@ Installing
Please refer to README for more detailed explanation of requirements,
supported features and how to use GNUstep QuartzCore!

1. Take a look at the README for requirements. You'll need OpenGL headers,
cairo, gnustep-base, gnustep-gui, opal, libobjc2, and a modern compiler
such as clang. gcc-4.6+ will probably work, too. For requirements of
each individual library as well as installation procedure, refer to their
documentation (or refer to online search engines).
1. Take a look at the README for requirements.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. INSTALL file is correct to list dependencies, if anything README could refer back to INSTALL.
  2. You've added dependency on glew, but have not documented it
  3. You've removed reference to optal-nsfonthacks.patch from README, but not here
  4. It would be better to add gnustep-corebase if it's actively needed (I don't recall if it is)

2. opal will need to be patched with `opal-nsfonthacks.patch`.
3. Just as with any other GNUstep library, don't forget to source the
`GNUstep.sh` file. Then just run:
Expand Down
9 changes: 4 additions & 5 deletions README.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@ Ivan Vučica.
Requirements
------------

*Last updated: August 20, 2012*
*Last updated: October 28, 2025*

* **Foundation**. You can use GNUstep Base or Apple Cocoa to get Foundation.
* **AppKit**. You can use GNUstep GUI or Apple Cocoa to get AppKit.
* **CoreFoundation**. You can use GNUstep CoreBase or Apple Cocoa to get CoreFoundation.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good improvement, thanks!

* **OpenGL 2.0**. Code makes use of framebuffers for offscreen rendering and
of fragment shaders for shadows. By manually removing blocks of code that
require framebuffers and shaders, it's probably possible to run the code on
Expand All @@ -26,10 +27,7 @@ Requirements
* **libobjc2**. While it may be possible to use the code with stock GCC
runtime, the "new" GNUstep runtime is the only runtime code is being
tested with. If you use Cocoa, Apple's "64-bit runtime" is also supported.
* **Patched Opal**. Opal currently conflicts with AppKit. More specifically,
it also implements an incompatible `NSFont`. An experimental patch is
provided against r35173 of Opal in `opal-nsfonthacks.patch`.
* Opal requires Cairo and may require corebase.
* **Opal**.

API status
----------
Expand Down Expand Up @@ -129,6 +127,7 @@ readme. Some problems may be resolved by the time you're reading this.
due to its use of `NSOpenGLContext` -- otherwise it doesn't care about the
UI framework used -- an experimental patch is provided. See
`opal-nsfonthacks.patch`.
* Note (2025) - this seems to be fixed.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good change, does this mean you simply did not apply it and all demo programs (incl those based on bridge) worked?


* **Opal sometimes returns 3 color components instead of 4**: Simply setting
the alpha to 1 in that case seems to work correctly.
Expand Down
2 changes: 1 addition & 1 deletion Source/CABackingStore.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
#import <OpenGL/gl.h>
#import <OpenGL/glu.h>
#else
#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#endif

Expand Down
4 changes: 2 additions & 2 deletions Source/CARenderer.m
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@
#import "CARenderer+FrameworkPrivate.h"
#if !(__APPLE__)
#define GL_GLEXT_PROTOTYPES 1
#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#import <GL/glext.h>

#else
#import <OpenGL/OpenGL.h>
#import <OpenGL/gl.h>
Expand Down
4 changes: 2 additions & 2 deletions Source/GLHelpers/CAGLProgram.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
#import <OpenGL/glu.h>
#else
#define GL_GLEXT_PROTOTYPES 1
#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#import <GL/glext.h>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should still be a standard header; I have GL/glext.h on my hardware, which machine is this missing on?

(This applies across the board where this change was made)


#endif

@interface CAGLProgram : NSObject
Expand Down
4 changes: 2 additions & 2 deletions Source/GLHelpers/CAGLShader.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
#import <OpenGL/glu.h>
#else
#define GL_GLEXT_PROTOTYPES 1
#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#import <GL/glext.h>

#endif

@interface CAGLShader : NSObject
Expand Down
4 changes: 2 additions & 2 deletions Source/GLHelpers/CAGLSimpleFramebuffer.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@
#import <Foundation/Foundation.h>
#if !(__APPLE__)
#define GL_GLEXT_PROTOTYPES 1
#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#import <GL/glext.h>

#else
#import <OpenGL/OpenGL.h>
#import <OpenGL/gl.h>
Expand Down
4 changes: 2 additions & 2 deletions Source/GLHelpers/CAGLTexture.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
#import <OpenGL/glu.h>
#else
#define GL_GLEXT_PROTOTYPES 1
#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#import <GL/glext.h>

#endif
#import <CoreGraphics/CGImage.h>

Expand Down
2 changes: 1 addition & 1 deletion Tests/QCTestOpenGLView.m
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
#import "GLESContext.h"
#endif
#if !(__APPLE__)
#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#else
#import <OpenGL/gl.h>
Expand Down
2 changes: 1 addition & 1 deletion Tests/hello.m
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
*/

#if !(__APPLE__)
#import <GL/gl.h>
#import <GL/glew.h>
#else
#import <OpenGL/OpenGL.h>
#import <OpenGL/gl.h>
Expand Down
2 changes: 1 addition & 1 deletion Tests/hello_animation.m
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
*/

#if !(__APPLE__)
#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#else
#import <OpenGL/gl.h>
Expand Down
2 changes: 1 addition & 1 deletion Tests/hello_carenderer.m
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
*/

#if !(__APPLE__)
#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#else
#import <OpenGL/gl.h>
Expand Down
2 changes: 1 addition & 1 deletion Tests/hello_opal.m
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
*/

#if !(__APPLE__)
#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#else
#import <OpenGL/OpenGL.h>
Expand Down
2 changes: 1 addition & 1 deletion Tests/offscreen_render.m
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
*/

#if !(__APPLE__)
#import <GL/gl.h>
#import <GL/glew.h>
#import <GL/glu.h>
#else
#import <OpenGL/gl.h>
Expand Down
4 changes: 0 additions & 4 deletions config.make

This file was deleted.