User:Gabadie/WebGL2
Jump to navigation
Jump to search
Work Done
- Create github fork of mozilla-central (https://github.com/gabadie/mozilla-central/tree/webgl2)
Tasks diagram to implement the experimental WebGL 2
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
}