SlideServe
Menu
Préférences
© SlideServe · v2026

Understanding Orphaned Objects and Texture Behavior in OpenGL Contexts

teva avatar
3 diapositives · 206 Views · Sep 09, 2014

This document explains the behavior of orphaned texture objects in OpenGL, focusing on the binding and deletion processes across multiple contexts. It outlines how to bind texture IDs in different contexts, the effects of deleting objects, and the implications of binding context changes on object availability. Key points include the distinction between deletion and unbinding, the concept of reference counting, and the atomic nature of certain OpenGL commands. Understanding these behaviors is crucial for managing texture resources effectively in graphics programming.

Understanding Orphaned Objects and Texture Behavior in OpenGL Contexts - slide 1
01 / 3Understanding Orphaned Objects and Texture Behavior in OpenGL Contexts
1 / 17

Télécharger la présentation

Understanding Orphaned Objects and Texture Behavior in OpenGL Contexts
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Orphan Object (Bill) Current texture object behavior: • Bind ID in context 1 • Bind same ID in context 2 and start rendering against it • Delete object in context 1. • Object un-bound from all texture stages ONLY in context 1. • Object is deleted once no longer bound in any context. • After deletion name will be marked as available. • In single context case, delete will un-bind, refcount goes to zero, therefore is deleted.

  2. Orphan Object (Pat) Current texture object behavior: • Bind ID in context 1 • Bind same ID in context 2 and start rendering against it • Delete object in context 1. • Object un-bound from all texture stages ONLY in context 1. • Object ID no longer exists. Therefore same ID is available to create a new object. • Old object is deleted once no longer bound in any context. (But cannot be referenced by ID anymore) • In single context case, delete will un-bind, refcount goes to zero, therefore is deleted.

  3. GLX 1.3 spec • The results of changing a texture object while another context is using it are undefined. • All modifications to shared context state as a result of executing glBindTexture are atomic. Also, a texture object will not be deleted until it is no longer bound to any rendering context. • In general, OpenGL commands are not guaranteed to be atomic. The operation of glEndList and glDeleteLists are exceptions: modifications to the shared context state as a result of executing glEndList or glDeleteLists are atomic.