ROOT logo
Gled » GEOM1 » ZGlProgram

class ZGlProgram: public ZList


 Representation of a GLSL program.
 Children are enforced to be ZGLShader instances.

 ZGlProgram_GL_Rnr compiles all the shaders and links the program.

 Unifrom variables are extracted and information is stored in the local
 map. Defaults are parsed out of the shader source and stored as string.
   uniform vec3  BrickColor;  // (1.0, 0.3, 0.2)
 If bSetUniDefaults is set (default), these values are assigned to
 appropriate GL uniform variables when the program is activated.
 See also SGlUniform and SGlUniform_GL_Rnr.


 TODO:
 1. GL_Rnr::Draw() does nothing - can only be via state-modifier link.
 2. Add class for holding alternate uniform variable values.
    One could have a ZList (or ZNameMap) and use name, title of elements
    for variable name, value string - but that is burning memory.
    Better to have glass ZGlUniformValues that holds the lot in a list
    and marks in the GL_Rnr which are really available.
    ZGlProgram would have to become ZGlRnrMod for that, to allow for
    optimized detection of program state via time-stamps.
    Special Fltk class would have to be written.
    In any case, the univorm-values could be populated from a succesfully
    compiled program - all information is already available in mUniMap.
 3. Why is ZImage not a RnrMod? Should we separate ZTexture and ZImage?
    This might become relevant for sampler uniform varaibles.

Function Members (Methods)

public:
ZGlProgram(const ZGlProgram&)
ZGlProgram(const Text_t* n = "ZGlProgram", const Text_t* t = 0)
virtual~ZGlProgram()
static void_gled_catalog_init()
voidTObject::AbstractMethod(const char* method) const
virtual voidZList::Add(ZGlass* lens)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual AList*AList::AsAList()
ZList*ZList::AssertPath(const Text_t* path, const Text_t* new_el_type = "ZList")
virtual ZGlass*ZList::BackElement()
ZList::iteratorZList::begin()
virtual voidTObject::Browse(TBrowser* b)
Bool_tZGlass::CheckBit(ZGlass::Bits_e bit) const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual voidAList::ClearAllReferences()
voidZGlass::ClearLinks()
virtual voidZList::ClearList()
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidCopyLinkRefs(lppZGlass_t& ref_list)
virtual voidCopyLinkReps(ZGlass::lLinkRep_t& link_rep_list)
virtual voidCopyLinks(lpZGlass_t& glass_list)
virtual TimeStamp_tAList::CopyList(lpZGlass_t& dest, bool copy_zeros = false, bool do_eyerefs = false)
virtual TimeStamp_tAList::CopyListElReps(AList::lElRep_t& dest, bool copy_zeros = false)
Short_tZGlass::DecEyeRefCount()
Short_tZGlass::DecRefCount(ZGlass* from, UShort_t n = 1)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tZGlass::DetachedThreadNice(const ZMIR* mir) const
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
voidAList::DumpElements(Bool_t dump_zeros = false)
virtual AList::ElType_eZList::el_type()
virtual boolAList::elrep_can_edit_label()
virtual boolAList::elrep_can_hold_zero()
virtual boolZList::elrep_has_id()
virtual boolAList::elrep_has_label()
voidEmitRebuildRay()
voidEmitRelinkRay()
ZList::iteratorZList::end()
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
voidExecuteMir(ZMIR& mir)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
static FID_tFID()
Int_tZList::FindFirst(ZGlass* lens)
virtual ZGlass*ZGlass::FindLensByPath(const TString& url, bool throwp = false)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual ZGlass*ZList::FrontElement()
Bool_tZGlass::GetAcceptRefs() const
CID_tAList::GetCid() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual ZGlass*AList::GetElementByName(const TString& name)
virtual Int_tAList::GetElementsByName(const TString& name, lpZGlass_t& dest)
UShort_tZGlass::GetFireRefCount() const
UInt_tZGlass::GetGlassBits()
ZMirFilter*ZGlass::GetGuard()
virtual const char*TObject::GetIconName() const
LID_tAList::GetLid() const
virtual ZGlass*ZGlass::GetLinkByName(const TString& link_name)
Bool_tGetLinked() const
TimeStamp_tAList::GetListTimeStamp() const
Bool_tZGlass::GetMIRActive() const
UShort_tZGlass::GetMoonRefCount() const
virtual const Text_t*ZGlass::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
ZQueen*ZGlass::GetQueen()
UShort_tZGlass::GetRefCount() const
Saturn*ZGlass::GetSaturn()
ID_tZGlass::GetSaturnID() const
Bool_tGetSetUniDefaults() const
Int_tAList::GetSize() const
TimeStamp_tZGlass::GetStampReqTring() const
UShort_tZGlass::GetSunRefCount() const
TimeStamp_tZGlass::GetTimeStamp() const
virtual const Text_t*ZGlass::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Bool_tZGlass::GetUseDispList() const
Bool_tZGlass::GetUseNameStack() const
static GledNS::ClassInfo*GlassInfo()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual Bool_tAList::Has(ZGlass* g)
virtual ULong_tTObject::Hash() const
TStringZGlass::Identify() const
Short_tZGlass::IncEyeRefCount()
Short_tZGlass::IncRefCount(ZGlass* from)
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidZList::InsertById(ZGlass* lens, Int_t before_id)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tAList::IsEmpty()
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
boolZGlass::IsSunOrFireSpace()
boolZGlass::IsSunSpace()
Bool_tTObject::IsZombie() const
virtual boolZList::list_deque_ops()
virtual boolZList::list_insert_id_ops()
virtual boolAList::list_insert_label_ops()
virtual boolAList::list_insert_lens_ops()
virtual boolAList::list_set_id_ops()
virtual boolAList::list_set_label_ops()
virtual voidTObject::ls(Option_t* option = "") const
virtual voidZGlass::MarkStampReqTring()
voidTObject::MayNotUse(const char* method) const
static MID_tAList::Mid_Add()
static MID_tZList::Mid_AssertPath()
static MID_tZList::Mid_BackElement()
static MID_tAList::Mid_ClearList()
static MID_tAList::Mid_DumpElements()
static MID_tMid_EmitRebuildRay()
static MID_tMid_EmitRelinkRay()
static MID_tZList::Mid_FrontElement()
static MID_tZList::Mid_InsertById()
static MID_tZList::Mid_PopBack()
static MID_tZList::Mid_PopFront()
static MID_tMid_PrintLog()
static MID_tMid_PrintUniforms()
static MID_tZList::Mid_PushBack()
static MID_tZList::Mid_PushFront()
static MID_tZGlass::Mid_RebuildRnrScheme()
static MID_tMid_ReloadAndRebuild()
static MID_tAList::Mid_RemoveAll()
static MID_tZList::Mid_RemoveById()
static MID_tAList::Mid_RemoveLensesViaQueen()
static MID_tZGlass::Mid_ReTriangulate()
static MID_tZGlass::Mid_SetAcceptRefs()
static MID_tAList::Mid_SetCid()
static MID_tAList::Mid_SetElementFID()
static MID_tZGlass::Mid_SetGuard()
static MID_tAList::Mid_SetLid()
static MID_tMid_SetLinked()
static MID_tAList::Mid_SetListTimeStamp()
static MID_tMid_SetLog()
static MID_tZGlass::Mid_SetMIRActive()
static MID_tZGlass::Mid_SetName()
static MID_tMid_SetSetUniDefaults()
static MID_tZGlass::Mid_SetStampReqTring()
static MID_tZGlass::Mid_SetTimeStamp()
static MID_tZGlass::Mid_SetTitle()
static MID_tZGlass::Mid_SetUseDispList()
static MID_tZGlass::Mid_SetUseDLRec()
static MID_tZGlass::Mid_SetUseNameStack()
static MID_tZList::Mid_SortByName()
static MID_tZGlass::Mid_UpdateAllViews()
static MID_tZGlass::Mid_UpdateGlassView()
ZMIR*AList::MkMir_Add(ZGlass* lens)
ZMIR*AList::MkMir_AddLabel(const TString& label)
ZMIR*AList::MkMir_ChangeLabel(const TString& label, TString new_label)
ZMIR*AList::MkMir_Insert(ZGlass* lens, AList::ElRep& elrep)
ZMIR*AList::MkMir_InsertByLabel(ZGlass* lens, const TString& label, const TString& before)
ZMIR*AList::MkMir_InsertLabel(const TString& label, const TString& before)
ZMIR*AList::MkMir_PopBack()
ZMIR*AList::MkMir_PopFront()
ZMIR*AList::MkMir_PushBack(ZGlass* lens)
ZMIR*AList::MkMir_PushFront(ZGlass* lens)
ZMIR*AList::MkMir_Remove(AList::ElRep& elrep)
ZMIR*AList::MkMir_RemoveAll(ZGlass* lens)
ZMIR*AList::MkMir_RemoveLabel(const TString& label)
ZMIR*AList::MkMir_SetElement(ZGlass* lens, AList::ElRep& elrep)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
ZGlProgram&operator=(const ZGlProgram&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual ZGlass*ZList::PopBack()
virtual ZGlass*ZList::PopFront()
virtual voidTObject::Print(Option_t* option = "") const
voidPrintLog()
voidPrintUniforms()
virtual voidZList::PushBack(ZGlass* lens)
virtual voidZList::PushFront(ZGlass* lens)
virtual Int_tTObject::Read(const char* name)
voidZGlass::ReadLock() const
voidZGlass::ReadUnlock() const
virtual Int_tAList::RebuildAllRefs(An_ID_Demangler* idd)
virtual Int_tRebuildLinkRefs(An_ID_Demangler* c)
virtual Int_tZList::RebuildListRefs(An_ID_Demangler* idd)
voidZGlass::RebuildRnrScheme()
virtual voidTObject::RecursiveRemove(TObject* obj)
GMutex&AList::RefListMutex()
const TString&ZGlass::RefName() const
const TString&ZGlass::RefTitle() const
const ZGlProgram::mName2pUniform_t&RefUniMap() const
const GMutex&RefUniMutex() const
voidZGlass::register_name_change_cb(ZGlass::NameChangeCB* nccb)
voidZGlass::register_ray_absorber(ZGlass::RayAbsorber* ra)
virtual voidAList::ReleaseListCopyEyeRefs(lpZGlass_t& dest)
voidReloadAndRebuild()
virtual Int_tZList::RemoveAll(ZGlass* lens)
virtual voidZList::RemoveById(Int_t id_to_remove)
voidAList::RemoveLensesViaQueen(Bool_t recurse = false)
Int_tZGlass::RemoveReferencesTo(ZGlass* lens)
voidTObject::ResetBit(UInt_t f)
voidZGlass::ReTriangulate()
virtual ZMIR*AList::S_Add(ZGlass* lens)
ZMIR*ZList::S_AssertPath(const Text_t* path, const Text_t* new_el_type = "ZList")
virtual ZMIR*ZList::S_BackElement()
virtual ZMIR*AList::S_ClearList()
ZMIR*AList::S_DumpElements(Bool_t dump_zeros = false)
ZMIR*S_EmitRebuildRay()
ZMIR*S_EmitRelinkRay()
virtual ZMIR*ZList::S_FrontElement()
virtual ZMIR*ZList::S_InsertById(ZGlass* lens, Int_t before_id)
virtual ZMIR*ZList::S_PopBack()
virtual ZMIR*ZList::S_PopFront()
ZMIR*S_PrintLog()
ZMIR*S_PrintUniforms()
virtual ZMIR*ZList::S_PushBack(ZGlass* lens)
virtual ZMIR*ZList::S_PushFront(ZGlass* lens)
ZMIR*ZGlass::S_RebuildRnrScheme()
ZMIR*S_ReloadAndRebuild()
virtual ZMIR*AList::S_RemoveAll(ZGlass* lens)
virtual ZMIR*ZList::S_RemoveById(Int_t id_to_remove)
ZMIR*AList::S_RemoveLensesViaQueen(Bool_t recurse = false)
ZMIR*ZGlass::S_ReTriangulate()
ZMIR*ZGlass::S_SetAcceptRefs(Bool_t acceptrefs)
ZMIR*AList::S_SetCid(CID_t cid)
ZMIR*AList::S_SetElementFID(FID_t fid)
ZMIR*ZGlass::S_SetGuard(ZMirFilter* guard)
ZMIR*AList::S_SetLid(LID_t lid)
ZMIR*S_SetLinked(Bool_t linked)
ZMIR*AList::S_SetListTimeStamp(TimeStamp_t listtimestamp)
ZMIR*S_SetLog(const Text_t* s)
ZMIR*ZGlass::S_SetMIRActive(Bool_t miractive)
ZMIR*ZGlass::S_SetName(const Text_t* s)
ZMIR*S_SetSetUniDefaults(Bool_t setunidefaults)
ZMIR*ZGlass::S_SetStampReqTring(TimeStamp_t stampreqtring)
ZMIR*ZGlass::S_SetTimeStamp(TimeStamp_t timestamp)
ZMIR*ZGlass::S_SetTitle(const Text_t* s)
ZMIR*ZGlass::S_SetUseDispList(Bool_t usedisplist)
ZMIR*ZGlass::S_SetUseDLRec(Bool_t state)
ZMIR*ZGlass::S_SetUseNameStack(Bool_t usenamestack)
virtual ZMIR*ZList::S_SortByName()
ZMIR*ZGlass::S_UpdateAllViews()
ZMIR*ZGlass::S_UpdateGlassView()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidZGlass::SetAcceptRefs(Bool_t acceptrefs)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAList::SetCid(CID_t cid)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAList::SetElementFID(FID_t fid)
voidZGlass::SetGuard(ZMirFilter* guard)
voidAList::SetLid(LID_t lid)
voidSetLinked(Bool_t linked)
voidAList::SetListTimeStamp(TimeStamp_t listtimestamp)
voidSetLog(const Text_t* s)
voidZGlass::SetMIRActive(Bool_t miractive)
voidZGlass::SetName(const Text_t* n)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetSetUniDefaults(Bool_t setunidefaults)
voidZGlass::SetStampReqTring(TimeStamp_t stampreqtring)
virtual voidAList::SetStamps(TimeStamp_t s)
voidZGlass::SetTimeStamp(TimeStamp_t timestamp)
voidZGlass::SetTitle(const Text_t* t)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidZGlass::SetUseDispList(Bool_t usedisplist)
voidZGlass::SetUseDLRec(Bool_t state)
voidZGlass::SetUseNameStack(Bool_t usenamestack)
virtual voidShowMembers(TMemberInspector& insp)
Int_tAList::Size()
virtual voidZList::SortByName()
TimeStamp_tZGlass::Stamp()
virtual TimeStamp_tZGlass::Stamp(FID_t fid, UChar_t eye_bits = 0)
TimeStamp_tZGlass::StampLink()
virtual TimeStamp_tZGlass::StampLink(FID_t fid)
TimeStamp_tZGlass::StampLinkVFID()
virtual TimeStamp_tAList::StampListClear()
virtual TimeStamp_tAList::StampListElementSet(ZGlass* lens, Int_t id)
virtual TimeStamp_tAList::StampListElementSet(ZGlass* lens, const TString& label)
virtual TimeStamp_tAList::StampListInsert(ZGlass* lens, Int_t id, ZGlass* before)
virtual TimeStamp_tAList::StampListInsert(ZGlass* lens, Int_t id, Int_t before_id)
virtual TimeStamp_tAList::StampListInsertLabel(ZGlass* lens, const TString& label, const TString& before)
virtual TimeStamp_tAList::StampListPopBack()
virtual TimeStamp_tAList::StampListPopFront()
virtual TimeStamp_tAList::StampListPushBack(ZGlass* lens, Int_t id = -1)
virtual TimeStamp_tAList::StampListPushFront(ZGlass* lens, Int_t id = -1)
virtual TimeStamp_tAList::StampListRebuild()
virtual TimeStamp_tAList::StampListRemove(ZGlass* lens)
virtual TimeStamp_tAList::StampListRemove(ZGlass* lens, Int_t id)
virtual TimeStamp_tAList::StampListRemoveLabel(ZGlass* lens, const TString& label)
virtual voidZGlass::StampReqTring(FID_t fid = FID_t(0,0))
TimeStamp_tZGlass::StampVFID()
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
TStringZGlass::StrName() const
TStringZGlass::StrTitle() const
voidZList::Swallow(const Text_t* path, ZGlass* entry)
voidZList::Swallow(ZGlass* entry, Bool_t replace_p = true, const Text_t* path = "", const Text_t* new_el_type = "ZList")
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidZGlass::unregister_name_change_cb(ZGlass::NameChangeCB* nccb)
voidZGlass::unregister_ray_absorber(ZGlass::RayAbsorber* ra)
voidZGlass::UpdateAllViews()
voidZGlass::UpdateGlassView()
virtual voidTObject::UseCurrentStyle()
virtual FID_tVFID() const
virtual GledNS::ClassInfo*VGlassInfo() const
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
voidZGlass::WriteLock()
voidZGlass::WriteUnlock()
protected:
virtual voidZGlass::AdEndarkenment()
virtual voidZGlass::AdEnlightenment()
virtual voidZGlass::AdUnfoldment()
ZMIR*ZGlass::assert_MIR_presence(const Exc_t& header, int what = 0)
virtual voidZList::clear_list()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
ZMIR*ZGlass::get_MIR()
voidTObject::MakeZombie()
virtual voidAList::new_element_check(ZGlass* lens)
virtual voidZList::on_insert(ZList::iterator iter)
virtual voidZList::on_rebuild()
virtual voidZList::on_remove(ZList::iterator iter)
voidZGlass::queen_check_in(ZGlass* l)
virtual voidAList::reference_all()
virtual voidZGlass::reference_links()
virtual voidAList::reference_list_elms()
virtual Int_tZList::remove_references_to(ZGlass* lens)
voidZGlass::set_link_or_die(ZGlass*& link, ZGlass* new_val, FID_t fid)
ZMIR*ZGlass::suggest_MIR_presence(const Exc_t& header, int what = 0)
voidswap_unimap(ZGlProgram::mName2pUniform_t& umap)
virtual voidAList::unreference_all()
virtual voidZGlass::unreference_links()
virtual voidAList::unreference_list_elms()
voidZGlass::warn_caller(const TString& warning)
private:
void_init()

Data Members

public:
enum PrivRayQN_e { PRQN_offset
PRQN_relink
PRQN_rebuild
};
enum AList::ElType_e { ET_Nil
ET_Lens
ET_Id
ET_Label
};
enum ZGlass::Bits_e { kFixedNameBit
kDyingBit
};
enum ZGlass::MirComponents_e { MC_Any
MC_IsFlare
MC_IsBeam
MC_HasResultReq
MC_IsDetached
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tZGlass::bAcceptRefsX{GS} 7 BoolOut()
Bool_tbLinked! X{GS} 7 BoolOut();
Bool_tZGlass::bMIRActiveX{GS} 7 BoolOut(-join=>1)
Bool_tbSetUniDefaultsX{GS} 7 Bool()
Bool_tZGlass::bUseDispListX{GST} 7 Bool(-join=>1)
Bool_tZGlass::bUseNameStackX{GS} 7 Bool()
CID_tAList::mCidX{GS} 7 Value(-width=>4, -join=>1)
list<ZList::element,allocator<ZList::element> >ZList::mElements! Problem during TStreamerElement creation (it's getting created despite manual streamer).
UShort_tZGlass::mEyeRefCount!
UShort_tZGlass::mFireRefCount! X{G} 7 ValOut(-width=>4)
UInt_tZGlass::mGlassBitsX{g}
ZLink<ZMirFilter>ZGlass::mGuardX{E} L{}
LID_tAList::mLidX{GS} 7 Value(-width=>4, -join=>1)
GMutexAList::mListMutex! X{r}
TimeStamp_tAList::mListTimeStamp! X{GS}
TStringmLog! X{S}
UShort_tZGlass::mMoonRefCount! X{G} 7 ValOut(-width=>4)
TStringZGlass::mNameX{RGE} 7 Textor()
Int_tZList::mNextId
ZQueen*ZGlass::mQueen! X{g}
GMutexZGlass::mReadMutex!
UShort_tZGlass::mRefCount! X{G} 7 ValOut(-width=>4, -join=>1)
Saturn*ZGlass::mSaturn! X{g}
ID_tZGlass::mSaturnIDX{G} 7 ValOut(-range=>[0,MAX_ID,1], -width=>10)
Int_tAList::mSizeX{G} 7 ValOut(-width=>5)
TimeStamp_tZGlass::mStampReqTring! X{GS} TimeStamp of last change that requires retriangulation
UShort_tZGlass::mSunRefCount! X{G} 7 ValOut(-width=>4, -join=>1)
TimeStamp_tZGlass::mTimeStamp! X{GS} TimeStamp of last change
TStringZGlass::mTitleX{RGE} 7 Textor()
map<TString,SGlUniform*>mUniMap! X{R}
GMutexmUniMutex! X{R}
set<NameChangeCB*>*ZGlass::pspNameChangeCB!
set<RayAbsorber*>*ZGlass::pspRayAbsorber!
static GledNS::ClassInfo*AList::sap_AList_ci
static GledNS::LinkMemberInfo*ZGlass::sap_Guard_lmi
static GledNS::ClassInfo*sap_ZGlProgram_ci
static GledNS::ClassInfo*ZGlass::sap_ZGlass_ci
static GledNS::ClassInfo*ZList::sap_ZList_ci

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void _init()
ZGlProgram(const Text_t* n = "ZGlProgram", const Text_t* t = 0)
~ZGlProgram()
{}
void swap_unimap(ZGlProgram::mName2pUniform_t& umap)
void EmitRelinkRay()
void EmitRebuildRay()
void ReloadAndRebuild()
 Running in a detached thread.
void PrintLog()
void PrintUniforms()
ZGlProgram(const Text_t* n = "ZGlProgram", const Text_t* t = 0)