From 92a751893fcee0e239e542b9642e539a8ba9a29e Mon Sep 17 00:00:00 2001 From: "sha..rd" Date: Mon, 18 Jul 2011 14:26:26 +0000 Subject: [PATCH] * Disable point sprite if not rendering a point mesh. May prevent ATI driver crashes git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7878 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../com/jme3/renderer/lwjgl/LwjglRenderer.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/engine/src/lwjgl-ogl/com/jme3/renderer/lwjgl/LwjglRenderer.java b/engine/src/lwjgl-ogl/com/jme3/renderer/lwjgl/LwjglRenderer.java index 3bbd42251..1ac166652 100644 --- a/engine/src/lwjgl-ogl/com/jme3/renderer/lwjgl/LwjglRenderer.java +++ b/engine/src/lwjgl-ogl/com/jme3/renderer/lwjgl/LwjglRenderer.java @@ -2364,6 +2364,20 @@ public class LwjglRenderer implements Renderer { if (mesh.getVertexCount() == 0) { return; } + + if (context.pointSprite && mesh.getMode() != Mode.Points){ + // XXX: Hack, disable point sprite mode if mesh not in point mode + if (context.boundTextures[0] != null){ + if (context.boundTextureUnit != 0){ + glActiveTexture(GL_TEXTURE0); + context.boundTextureUnit = 0; + } + glDisable(GL_POINT_SPRITE); + glDisable(GL_VERTEX_PROGRAM_POINT_SIZE); + context.pointSprite = false; + } + } + if (context.pointSize != mesh.getPointSize()) { glPointSize(mesh.getPointSize()); context.pointSize = mesh.getPointSize();