summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2005-05-13 23:57:50 +0000
committerKenneth Russel <[email protected]>2005-05-13 23:57:50 +0000
commit7ac0aeff0fb6208a048588d9c83c941a82c64ed7 (patch)
tree519c460f0b298f7bef8845938535703853989fb2
parent4a225f43a1f5f8a2ae95d3e3696c79e9090260e8 (diff)
Added CgGL.cgCreateProgramFromStream and updated JOGL Cg demos to use
it so they can be run with Java Web Start. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@74 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
-rw-r--r--make/build.xml5
-rw-r--r--src/demos/cg/runtime_ogl/cgGL_vertex_example.java14
-rw-r--r--src/demos/cg/runtime_ogl_vertex_fragment/runtime_ogl_vertex_fragment.java20
3 files changed, 31 insertions, 8 deletions
diff --git a/make/build.xml b/make/build.xml
index 95afeee..3d672e9 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -50,7 +50,7 @@
<pathelement path="${classpath}" />
<pathelement location="${jogl.jar}" />
</path>
- <javac destdir="${classes}" excludes="demos/cg/**" source="1.4" debug="true" debuglevel="source,lines">
+ <javac destdir="${classes}" source="1.4" debug="true" debuglevel="source,lines">
<src path="${src}" />
<classpath refid="jogl.classpath" />
</javac>
@@ -59,6 +59,9 @@
<exclude name="gleem/**" />
<exclude name="demos/util/**" />
</fileset>
+ <fileset dir="${src}">
+ <include name="demos/cg/**/*.cg" />
+ </fileset>
</jar>
<jar destfile="${jogl.demos.util.jar}">
<fileset dir="${classes}">
diff --git a/src/demos/cg/runtime_ogl/cgGL_vertex_example.java b/src/demos/cg/runtime_ogl/cgGL_vertex_example.java
index ec2cb9a..f1f41dd 100644
--- a/src/demos/cg/runtime_ogl/cgGL_vertex_example.java
+++ b/src/demos/cg/runtime_ogl/cgGL_vertex_example.java
@@ -31,11 +31,14 @@
*
*/
+package demos.cg.runtime_ogl;
+
import net.java.games.cg.*;
import net.java.games.jogl.*;
import java.awt.*;
import java.awt.event.*;
+import java.io.*;
/**
* cgGL_vertex_example: simple demo of Nvidia CgGL API. Based upon C version
@@ -187,9 +190,14 @@ public class cgGL_vertex_example implements GLEventListener
CheckCgError();
/* Test adding source text to context */
- Program = CgGL.cgCreateProgramFromFile(
- Context, CgGL.CG_SOURCE, "cgGL_vertex_example.cg",
- profile, null, null);
+ try {
+ Program = CgGL.cgCreateProgramFromStream(
+ Context, CgGL.CG_SOURCE,
+ getClass().getClassLoader().getResourceAsStream("demos/cg/runtime_ogl/cgGL_vertex_example.cg"),
+ profile, null, null);
+ } catch (IOException e) {
+ throw new RuntimeException("Error loading Cg vertex program", e);
+ }
CheckCgError();
System.err.println(
diff --git a/src/demos/cg/runtime_ogl_vertex_fragment/runtime_ogl_vertex_fragment.java b/src/demos/cg/runtime_ogl_vertex_fragment/runtime_ogl_vertex_fragment.java
index d0b7dc1..0c389e1 100644
--- a/src/demos/cg/runtime_ogl_vertex_fragment/runtime_ogl_vertex_fragment.java
+++ b/src/demos/cg/runtime_ogl_vertex_fragment/runtime_ogl_vertex_fragment.java
@@ -31,6 +31,8 @@
*
*/
+package demos.cg.runtime_ogl_vertex_fragment;
+
import net.java.games.cg.*;
import net.java.games.jogl.*;
import net.java.games.jogl.util.*;
@@ -235,8 +237,13 @@ public class runtime_ogl_vertex_fragment implements GLEventListener
// Load and compile the vertex program from demo_vert.cg; hold on to the
// handle to it that is returned.
- vertexProgram = CgGL.cgCreateProgramFromFile(context, CgGL.CG_SOURCE, "demo_vert.cg",
- vertexProfile, null, null);
+ try {
+ vertexProgram = CgGL.cgCreateProgramFromStream(context, CgGL.CG_SOURCE,
+ getClass().getClassLoader().getResourceAsStream("demos/cg/runtime_ogl_vertex_fragment/demo_vert.cg"),
+ vertexProfile, null, null);
+ } catch (IOException e) {
+ throw new RuntimeException("Error loading Cg vertex program", e);
+ }
if (!CgGL.cgIsProgramCompiled(vertexProgram))
CgGL.cgCompileProgram(vertexProgram);
@@ -245,8 +252,13 @@ public class runtime_ogl_vertex_fragment implements GLEventListener
CgGL.cgGLLoadProgram(vertexProgram);
// And similarly set things up for the fragment program.
- fragmentProgram = CgGL.cgCreateProgramFromFile(context, CgGL.CG_SOURCE, "demo_frag.cg",
- fragmentProfile, null, null);
+ try {
+ fragmentProgram = CgGL.cgCreateProgramFromStream(context, CgGL.CG_SOURCE,
+ getClass().getClassLoader().getResourceAsStream("demos/cg/runtime_ogl_vertex_fragment/demo_frag.cg"),
+ fragmentProfile, null, null);
+ } catch (IOException e) {
+ throw new RuntimeException("Error loading Cg fragment program", e);
+ }
if (!CgGL.cgIsProgramCompiled(fragmentProgram)) {
CgGL.cgCompileProgram(fragmentProgram);
}