User:Gabadie/WebGL2

From MozillaWiki
Jump to: navigation, search


Work Done

Tasks diagram to implement the experimental WebGL 2

ExperimentalWebgl2Board.png

Original Graphviz code :

 digraph G {
   github [label="Create github fork of mozilla-central"]
   flag [label="Add about:config flag"]
   idl [label="Add WebGL2 IDL inheriting WebGL 1 IDL"]
   cppclass [label="Add WebGLContext2 C++ class inheriting WebGLContext"]
   getcontext [label="Edit HTMLCanvasElement::GetContextHelper to allow experimental-webgl2"]
   GL3 [label="Edit GLContext to allow getting a GL3 context; let WebGL 2 use it"]
   bypassangle [label="Bypass ANGLE shader compilation, use GL3 directly"]
   iswebgl2 [label="Add virtual func WebGLContext::IsWebGL2"]
   existingexts [label="Add existing WebGL 1 extensions as WebGL 2 features (e.g. draw_buffers)"]
   queries [label="Query objects"]  // PRIORITY
   transformfeedback [label="Transform feedback"]  // PRIORITY
   uniformbuffers [label="Uniform Buffer objects"]
   samplers [label="Sampler objects"]
   buffercopy [label="Buffer to buffer copies"]
   tex3d [label="3D textures"]
   instanced [label="Instanced rendering"]  // PRIORITY
   texstorage [label="Texture storage"]
   rrgtex [label="R and RG textures"]
   texswizzle [label="Texture swizzles"]
   ETC2 [label="ETC2 textures"]  // PRIORITY
   EAC [label="EAC textures"]  // PRIORITY
   npot [label="Unrestricted NPOT textures"]
   lod [label="Mipmap level/LOD tricks"]
   newformats [label="New renderbuffer/texture formats"]
   srgb [label="sRGB textures"]  // PRIORITY
   multisamplerb [label="Multisample renderbuffers"]  // PRIORITY
   halffloatattribs [label="Half-float vertex attribs"]
   shadow [label="Shadow comparisons"]  // PRIORITY
   stretchblit [label="Stretch blits"]
   invalidation [label="Framebuffer invalidation hints"]
   drawrange [label="DrawRangeElements"]
   primrestart [label="Primitive restart with fixed index"]  // PRIORITY
   mipmaplevelsattach [label="Attach any mipmap level to a framebuffer"]
   blendminmax [label="min/max blend equations"]  // PRIORITY
   uniformmatrices [label="Non-square and transposable uniform matrices"]
   pixelstore [label="Additional pixel store state"]
   
   priorityfeatures [label="High-priority features"]
   
   github -> flag -> idl -> cppclass -> getcontext -> iswebgl2
   getcontext -> existingexts
   
   existingexts -> queries
   existingexts -> transformfeedback
   existingexts -> instanced
   existingexts -> ETC2
   existingexts -> EAC
   existingexts -> srgb
   existingexts -> multisamplerb
   existingexts -> primrestart
   existingexts -> blendminmax
   
   queries -> priorityfeatures
   transformfeedback -> priorityfeatures
   instanced -> priorityfeatures
   ETC2 -> priorityfeatures
   EAC -> priorityfeatures
   srgb -> priorityfeatures
   multisamplerb -> priorityfeatures
   primrestart -> priorityfeatures
   blendminmax -> priorityfeatures
   
   priorityfeatures -> uniformbuffers
   priorityfeatures -> samplers
   priorityfeatures -> buffercopy
   priorityfeatures -> tex3d
   priorityfeatures -> texstorage
   priorityfeatures -> rrgtex
   priorityfeatures -> texswizzle
   priorityfeatures -> npot
   priorityfeatures -> lod
   priorityfeatures -> newformats
   priorityfeatures -> halffloatattribs
   priorityfeatures -> stretchblit
   priorityfeatures -> invalidation
   priorityfeatures -> drawrange
   priorityfeatures -> mipmaplevelsattach
   priorityfeatures -> uniformmatrices
   priorityfeatures -> pixelstore
   priorityfeatures -> shadow
   
   GL3 -> bypassangle
   iswebgl2 -> bypassangle
   
   bypassangle -> shadow
   bypassangle -> uniformbuffers
   bypassangle -> samplers
   bypassangle -> tex3d
   bypassangle -> uniformmatrices
 }

Link to export the graph to ascii art