public void drawPick(RenderCamera camera, RenderObject ro, PickingProgram prog) { for (Manipulator manip : currentManips) { Matrix4 mTransform = getTransformation(manip, camera, ro); prog.setObject(mTransform, manipIDs.get(manip).id); manipRenderer.drawCall(manip.type, prog.getPositionAttributeLocation()); } }
public void draw(RenderCamera camera) { if (currentObject == null) return; DepthState.NONE.set(); BlendState.ALPHA_BLEND.set(); RasterizerState.CULL_CLOCKWISE.set(); for (Manipulator manip : currentManips) { Matrix4 mTransform = getTransformation(manip, camera, currentObject); manipRenderer.render(mTransform, camera.mViewProjection, manip.type, manip.axis); } DepthState.DEFAULT.set(); BlendState.OPAQUE.set(); RasterizerState.CULL_CLOCKWISE.set(); for (Manipulator manip : currentManips) { Matrix4 mTransform = getTransformation(manip, camera, currentObject); manipRenderer.render(mTransform, camera.mViewProjection, manip.type, manip.axis); } }
@Override public void dispose() { manipRenderer.dispose(); unhook(); }