Exemple #1
0
        internal GlFunc(Func <T> function, GlRenderHandler glRenderHandler, bool synchronised, bool recursive = false) : base(glRenderHandler, synchronised, recursive)
        {
            Function = function;

            // TODO may cause synchronisation errors as this object has not been created yet in another thread.
            _result = new GlFuncResult <T>(this, synchronised);
        }
Exemple #2
0
        protected internal void AddUnitGlRenderHandler(GlRenderHandler glRenderHandler)
        {
            #if DEBUG
            if (glRenderHandler is null)
            {
                throw new ArgumentNullException(nameof(glRenderHandler), "Argument can not be null.");
            }
            #endif

            UninitRenderHandlers.Add(glRenderHandler);
        }
Exemple #3
0
 public GlRenderHandler(GlRenderHandler glRenderHandler)
 {
     glRenderHandler.AddUnitGlRenderHandler(this);
     _glInitialise();
 }
Exemple #4
0
 protected internal GlObject(GlRenderHandler glRenderHandler)
 {
     GlRenderHandler = glRenderHandler;
     GlRenderHandler.AddUnitGlObject(this, new GlAction(GlInitialise, glRenderHandler, false));
 }
Exemple #5
0
 public override void Queue()
 {
     GlRenderHandler.GlEnqueue(this as GlFunc <IGlEvent>);
 }
Exemple #6
0
 internal GlAction(Action action, GlRenderHandler glRenderHandler, bool synchronised, bool recursive = false) : base(glRenderHandler, synchronised, recursive)
 {
     Action = action;
 }
Exemple #7
0
 public override void Queue()
 {
     GlRenderHandler.GlEnqueue(this);
 }