Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6615735
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T20:29:58+00:00 2026-05-25T20:29:58+00:00

I have an app running on iPad which is using lots of textures, rendering

  • 0

I have an app running on iPad which is using lots of textures, rendering into one EAGLView. Now I need a second EAGLView, sharing textures with the first.

I can get both views rendering fine, in parallel, on screen, by fixing some design mistakes in Apple’s code (e.g. the default ViewController needs some tweaks to support multiple child EAGLView objects). But I can’t get the textures to be shared.

I cannot duplicate the textures (that would double memory usage – and we’re using most of the mem already).

I can’t find any documentation from Apple on how to share textures between multiple EAGLView’s – there are “hints” that this is what EAGLShareGroup is for, allowing each GLView to have its own context, but the two contexts to share a ShareGroup – but nothing explicit that I could find.

I’ve tried following the answer to this question: Textures not drawing if multiple EAGLViews are used

…but it wasn’t really an answer. It pointed to EAGLSharegroup without actually explaining how to use it – it seems to make no difference at all. It also pointed indirectly to a page about rendering from multiple threads – which is a completely different problem, and I don’t have any of the problems listed there (app crashes etc).

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T20:29:58+00:00Added an answer on May 25, 2026 at 8:29 pm

    It turns out that Apple’s undocumented EAGLShareGroup ( http://developer.apple.com/library/ios/#documentation/OpenGLES/Reference/EAGLSharegroup_ClassRef/Reference/EAGLSharegroup.html ) … cannot be instantiated without knowing its secret init method(s).

    I have no idea what that is – it’s undocumented – but you can get an EAGLContext to instantiate the first sharegroup for you, and then make that your shared, global sharegroup.

    So, the following will never work:

    EAGLShareGroup *group = [[EAGLShareGropu alloc] init];
    EAGLContext *context1 = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2 sharegroup:group];
    EAGLContext *context2 = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2 sharegroup:group];
    

    HOWEVER, the following works perfectly:

    EAGLContext *context1 = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
    EAGLContext *context2 = [[EAGLContext alloc] initWithAPI:[context1 API] sharegroup:context1.sharegroup];
    

    (edited to make context2 use context1’s API too – as per Apple’s ES programming guide, as per Pivot’s comment)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have an enterprise iPad app which is running inside my company. I'm using
I have an app running on iPAD. Pretty complex one I would say. The
I have a MVC3 project for running on the iPad in the web-app mode.
I have a Rails app running Mongoid on Heroku and I need to set
I'm currently developping an iPad app which is using OpenGL to draw some very
I have an iPad app that receives data using UDP sockets. And it has
I have developed an iPad app which is currently in the testing phase. I
I have a very, very weird effect here using Monotouch 5.2.5 running my app
We have a memory-intensive 3D app which is primarily targeted at iPad 2 and
I'm working on an ipad app which is meant to have several UIWebView controls

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.