internal void Render(GLContext ctx) { if (!_render) { return; } //if (_wireframe) // ctx.glPolygonMode(GLFace.FrontAndBack, GLPolygonMode.Line); //else // ctx.glPolygonMode(GLFace.FrontAndBack, GLPolygonMode.Fill); _manager.PrepareStream(ctx); if (_singleBind != null) { ctx.glPushMatrix(); Matrix m = _singleBind.Matrix; ctx.glMultMatrix((float *)&m); } if ((_material != null) && (_material._children.Count > 0)) { foreach (MDL0MaterialRefNode mr in _material._children) { if (!mr._texture.Enabled) { continue; } mr.Bind(ctx); _manager.Render(ctx, 0); } } else { _manager.Render(ctx, -1); } _manager.DetachStreams(ctx); if (_singleBind != null) { ctx.glPopMatrix(); } }