module hoekjed.dingen.voorwerp; import hoekjed; class Voorwerp : Ding { protected VAO vao; Verver verver; // TODO: Moet bescherm worden, aangezien Wereld het gebruikt als sleutel. invariant (verver !is null); this(Voorwerp uiterlijk) { this.vao = uiterlijk.vao; this.verver = uiterlijk.verver; } this(Vec!3[] plekken, Vec!(3, uint)[] volgorde, Vec!3[] normalen = null, Vec!2[] beeldplekken = null, Verver verver = Verver.plaatsvervanger) { this.vao = new VAO(); vao.zetInhoud(0, plekken); if (normalen !is null) vao.zetInhoud(1, normalen); if (beeldplekken !is null) vao.zetInhoud(2, beeldplekken); vao.zetVolgorde(volgorde); this.verver = verver; } protected void zetUniformen() { verver.zetUniform("tekenM", tekenM); } override public void teken() { zetUniformen(); vao.teken(); } override public void denk() { } }