default to 0,0,0,0 texture
dynamic viewport, don't allocate stack elements on render