Cleanup
This commit is contained in:
230
.idea/workspace.xml
generated
230
.idea/workspace.xml
generated
@@ -2,7 +2,13 @@
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="0193c0b3-1608-4943-8e86-0ee275fde56d" name="Default" comment="">
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/com/persesgames/jogl/shader/Program.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/persesgames/jogl/shader/ComputeProgram.java" afterPath="$PROJECT_DIR$/src/com/persesgames/jogl/shader/ComputeProgram.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/persesgames/jogl/explosion/ExplosionComputeHandler.java" afterPath="$PROJECT_DIR$/src/com/persesgames/jogl/explosion/ExplosionComputeHandler.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/persesgames/jogl/Renderer.java" afterPath="$PROJECT_DIR$/src/com/persesgames/jogl/Renderer.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/persesgames/jogl/shader/ShaderProgram.java" afterPath="$PROJECT_DIR$/src/com/persesgames/jogl/shader/ShaderProgram.java" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explosion.comp" afterPath="$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explosion.comp" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explosionCleanUp.comp" afterPath="$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explosionCleanUp.comp" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
</list>
|
||||
<ignored path="jogl-compute-shaders-fireworks.iws" />
|
||||
@@ -67,39 +73,14 @@
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf>
|
||||
<file leaf-file-name="Util.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/Util.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="27" column="0" selection-start="694" selection-end="694" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="558">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="explShader.frag" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explShader.frag">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="450">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="explShader.vert" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explShader.vert">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="22" column="0" selection-start="485" selection-end="485" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="504">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ExplosionComputeHandler.java" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/explosion/ExplosionComputeHandler.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="127" column="16" selection-start="4643" selection-end="4643" vertical-scroll-proportion="-0.802589" vertical-offset="2782" max-vertical-offset="3726">
|
||||
<state line="24" column="60" selection-start="751" selection-end="751" vertical-scroll-proportion="0.7309645" vertical-offset="0" max-vertical-offset="3744">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#6831#6832#0" expanded="true" />
|
||||
<element signature="e#6867#6868#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
@@ -126,16 +107,61 @@
|
||||
<file leaf-file-name="Renderer.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/Renderer.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="160" column="35" selection-start="4797" selection-end="4797" vertical-scroll-proportion="0.0" vertical-offset="2574" max-vertical-offset="3474">
|
||||
<state line="161" column="36" selection-start="4846" selection-end="4846" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="3474">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Timer.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/Timer.java">
|
||||
<file leaf-file-name="ShaderProgram.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/shader/ShaderProgram.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="13" column="13" selection-start="230" selection-end="230" vertical-scroll-proportion="0.0" vertical-offset="1299" max-vertical-offset="1926">
|
||||
<state line="27" column="0" selection-start="1200" selection-end="1200" vertical-scroll-proportion="0.0" vertical-offset="282" max-vertical-offset="1170">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="explosionCleanUp.comp" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explosionCleanUp.comp">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="3" column="37" selection-start="75" selection-end="75" vertical-scroll-proportion="-2.0" vertical-offset="0" max-vertical-offset="648">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="explosion.comp" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explosion.comp">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="28" column="0" selection-start="633" selection-end="633" vertical-scroll-proportion="0.0" vertical-offset="108" max-vertical-offset="792">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ComputeProgram.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/shader/ComputeProgram.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="24" column="0" selection-start="1103" selection-end="1103" vertical-scroll-proportion="0.0" vertical-offset="408" max-vertical-offset="1026">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Program.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/shader/Program.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="29" column="0" selection-start="1235" selection-end="1235" vertical-scroll-proportion="0.0" vertical-offset="1038" max-vertical-offset="1926">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Keyboard.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/Keyboard.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="9" column="13" selection-start="169" selection-end="169" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="828">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
@@ -156,8 +182,13 @@
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/src/jogl/Util.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explShader.vert" />
|
||||
<option value="$PROJECT_DIR$/src/com/persesgames/jogl/explosion/ExplosionComputeHandler.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/persesgames/jogl/shader/ComputeProgram.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/persesgames/jogl/shader/ShaderProgram.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/persesgames/jogl/shader/Program.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explosion.comp" />
|
||||
<option value="$PROJECT_DIR$/src/com/persesgames/jogl/Renderer.java" />
|
||||
<option value="$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explosionCleanUp.comp" />
|
||||
<option value="$PROJECT_DIR$/src/com/persesgames/jogl/explosion/ExplosionComputeHandler.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@@ -229,6 +260,50 @@
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="jogl-compute-shaders-fireworks" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="jogl-compute-shaders-fireworks" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="src" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="jogl" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="shader" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="jogl-compute-shaders-fireworks" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="jogl-compute-shaders-fireworks" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="src" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="jogl" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="explosion" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="jogl-compute-shaders-fireworks" />
|
||||
@@ -258,7 +333,7 @@
|
||||
<property name="MemberChooser.copyJavadoc" value="false" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/lib" />
|
||||
<property name="project.structure.last.edited" value="Modules" />
|
||||
<property name="project.structure.proportion" value="0.0" />
|
||||
<property name="project.structure.proportion" value="0.15" />
|
||||
<property name="project.structure.side.proportion" value="0.2" />
|
||||
<property name="recentsLimit" value="5" />
|
||||
<property name="dynamic.classpath" value="false" />
|
||||
@@ -266,6 +341,22 @@
|
||||
<property name="options.splitter.main.proportions" value="0.3" />
|
||||
<property name="options.splitter.details.proportions" value="0.2" />
|
||||
<property name="options.searchVisible" value="true" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth0" value="114" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder0" value="0" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth1" value="124" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder1" value="1" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth2" value="130" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder2" value="2" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth3" value="1039" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder3" value="3" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth0" value="114" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder0" value="0" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth1" value="124" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder1" value="1" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth2" value="130" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder2" value="2" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth3" value="1039" />
|
||||
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder3" value="3" />
|
||||
</component>
|
||||
<component name="PsiViewer.ProjectComponent">
|
||||
<option name="HIGHLIGHT" value="false" />
|
||||
@@ -276,6 +367,9 @@
|
||||
<option name="AUTOSCROLL_FROM_SOURCE" value="false" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyClassDialog.RECENTS_KEY">
|
||||
<recent name="com.persesgames.jogl.shader" />
|
||||
</key>
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/src" />
|
||||
<recent name="$PROJECT_DIR$/lib" />
|
||||
@@ -553,17 +647,25 @@
|
||||
<created>1389957748775</created>
|
||||
<updated>1389957748775</updated>
|
||||
<workItem from="1389957751293" duration="57000" />
|
||||
<workItem from="1389957808723" duration="1147000" />
|
||||
<workItem from="1389957808723" duration="2892000" />
|
||||
</task>
|
||||
<task id="LOCAL-00001" summary="Initial commit">
|
||||
<created>1389958488400</created>
|
||||
<updated>1389958488401</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="2" />
|
||||
<task id="LOCAL-00002" summary="Cleanup">
|
||||
<created>1389958962131</created>
|
||||
<updated>1389958962131</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00003" summary="Cleanup ">
|
||||
<created>1389959134709</created>
|
||||
<updated>1389959134709</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="4" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="1204000" />
|
||||
<option name="totallyTimeSpent" value="2949000" />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="439" y="34" width="1481" height="1142" extended-state="0" />
|
||||
@@ -574,6 +676,7 @@
|
||||
<window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32964823" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
@@ -591,7 +694,6 @@
|
||||
<window_info id="PsiViewer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
@@ -610,7 +712,9 @@
|
||||
<TodoPanelSettings />
|
||||
</option>
|
||||
<MESSAGE value="Initial commit" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Initial commit" />
|
||||
<MESSAGE value="Cleanup" />
|
||||
<MESSAGE value="Cleanup " />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Cleanup " />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager />
|
||||
@@ -669,18 +773,62 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/shader/Program.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="29" column="0" selection-start="1235" selection-end="1235" vertical-scroll-proportion="0.0" vertical-offset="1038" max-vertical-offset="1926">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/Keyboard.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="9" column="13" selection-start="169" selection-end="169" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="828">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/shader/ComputeProgram.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="24" column="0" selection-start="1103" selection-end="1103" vertical-scroll-proportion="0.0" vertical-offset="156" max-vertical-offset="1026">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/shader/ShaderProgram.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="27" column="0" selection-start="1200" selection-end="1200" vertical-scroll-proportion="0.0" vertical-offset="224" max-vertical-offset="1170">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explosion.comp">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="28" column="0" selection-start="633" selection-end="633" vertical-scroll-proportion="0.0" vertical-offset="108" max-vertical-offset="792">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/Renderer.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="160" column="35" selection-start="4797" selection-end="4797" vertical-scroll-proportion="0.0" vertical-offset="2574" max-vertical-offset="3474">
|
||||
<state line="161" column="36" selection-start="4846" selection-end="4846" vertical-scroll-proportion="0.0" vertical-offset="2494" max-vertical-offset="3474">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/explosion/explosionCleanUp.comp">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="3" column="37" selection-start="75" selection-end="75" vertical-scroll-proportion="-2.0" vertical-offset="0" max-vertical-offset="648">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/com/persesgames/jogl/explosion/ExplosionComputeHandler.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="127" column="16" selection-start="4643" selection-end="4643" vertical-scroll-proportion="-0.802589" vertical-offset="2782" max-vertical-offset="3726">
|
||||
<state line="24" column="60" selection-start="751" selection-end="751" vertical-scroll-proportion="0.7309645" vertical-offset="0" max-vertical-offset="3744">
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#6831#6832#0" expanded="true" />
|
||||
<element signature="e#6867#6868#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
|
||||
@@ -163,18 +163,18 @@ public class Renderer implements GLEventListener {
|
||||
|
||||
timer.stop("compute");
|
||||
|
||||
timer.start("draw");
|
||||
|
||||
explosionComputeHandler.render();
|
||||
|
||||
timer.stop("draw");
|
||||
|
||||
timer.start("getGpuData");
|
||||
|
||||
explosionComputeHandler.getGpuData();
|
||||
|
||||
timer.stop("getGpuData");
|
||||
|
||||
timer.start("draw");
|
||||
|
||||
explosionComputeHandler.render();
|
||||
|
||||
timer.stop("draw");
|
||||
|
||||
timer.log();
|
||||
|
||||
if (lastLog < System.nanoTime() - TimeUnit.SECONDS.toNanos(1)) {
|
||||
|
||||
@@ -22,7 +22,7 @@ public class ExplosionComputeHandler {
|
||||
private final static Logger logger = LoggerFactory.getLogger(ExplosionComputeHandler.class);
|
||||
|
||||
private final static int EXPLOSION_PARTICLES = 256;
|
||||
private final static int MAX_EXPLOSION_PARTICLES = 1000000;
|
||||
private final static int MAX_EXPLOSION_PARTICLES = 250000;
|
||||
|
||||
private final Random random = new Random(System.nanoTime());
|
||||
|
||||
@@ -52,7 +52,7 @@ public class ExplosionComputeHandler {
|
||||
float x = random.nextFloat() * 2f - 1f;
|
||||
float y = random.nextFloat() * 2f - 1f;
|
||||
|
||||
if (newParticleCount > (MAX_EXPLOSION_PARTICLES - EXPLOSION_PARTICLES)) {
|
||||
if ((particleCount + newParticleCount) > (MAX_EXPLOSION_PARTICLES - EXPLOSION_PARTICLES)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -108,10 +108,10 @@ public class ExplosionComputeHandler {
|
||||
gl.glBindBuffer(GL2ES2.GL_ARRAY_BUFFER, explHandle);
|
||||
|
||||
// transfer data to VBO, this perform the copy of data from CPU -> GPU memory
|
||||
// gl.glBufferData(GL.GL_ARRAY_BUFFER, particleCount * 4 * 8, explBuffer, GL.GL_DYNAMIC_DRAW);
|
||||
gl.glBufferSubData(GL.GL_ARRAY_BUFFER, particleCount * 4 * 8, newParticleCount * 4 * 8, explBuffer);
|
||||
|
||||
// Select the VBO, GPU memory data, to use for vertices
|
||||
gl.glBindBuffer(GL2ES2.GL_ARRAY_BUFFER, 0);
|
||||
|
||||
gl.glBindBuffer(GL4.GL_ATOMIC_COUNTER_BUFFER, atomicHandle);
|
||||
|
||||
atomicBuffer.put(0, particleCount + newParticleCount);
|
||||
@@ -119,7 +119,6 @@ public class ExplosionComputeHandler {
|
||||
// transfer data to VBO, this perform the copy of data from CPU -> GPU memory
|
||||
gl.glBufferData(GL4.GL_ATOMIC_COUNTER_BUFFER, 4, atomicBuffer, GL.GL_DYNAMIC_DRAW);
|
||||
|
||||
gl.glBindBuffer(GL2ES2.GL_ARRAY_BUFFER, 0);
|
||||
gl.glBindBuffer(GL4.GL_ATOMIC_COUNTER_BUFFER, 0);
|
||||
|
||||
newParticleCount = 0;
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
#version 430 core
|
||||
#define pi 3.141592653589793238462643383279
|
||||
|
||||
precision mediump float;
|
||||
precision mediump int;
|
||||
|
||||
struct explosion {
|
||||
vec4 positionVelocity;
|
||||
vec4 color;
|
||||
@@ -29,7 +26,6 @@ void main() {
|
||||
vec4 color = e[gid].color;
|
||||
|
||||
if (color.a > 0.0) {
|
||||
//velocity = velocity * 0.99;
|
||||
position = position + velocity * delta * color.a;
|
||||
color.a = color.a - (delta / 2);
|
||||
} else {
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
#version 430 core
|
||||
#define pi 3.141592653589793238462643383279
|
||||
|
||||
precision mediump float;
|
||||
precision mediump int;
|
||||
|
||||
struct explosion {
|
||||
vec4 positionVelocity;
|
||||
@@ -22,10 +18,8 @@ void main() {
|
||||
uint last = atomicCounter(lastCounter);
|
||||
|
||||
if (gid < last && last > 0) {
|
||||
vec4 color = e[gid].color;
|
||||
|
||||
if (color.a == 0.0) {
|
||||
uint old = atomicCounterDecrement(lastCounter);
|
||||
if (e[gid].color.a == 0.0) {
|
||||
uint old = atomicCounterDecrement(lastCounter) - 1;
|
||||
|
||||
e[gid].positionVelocity = e[old].positionVelocity;
|
||||
e[gid].color = e[old].color;
|
||||
|
||||
@@ -1,13 +1,6 @@
|
||||
package com.persesgames.jogl.shader;
|
||||
|
||||
import com.persesgames.jogl.Renderer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.media.opengl.GL2ES2;
|
||||
import javax.media.opengl.GL4;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/*-----------------------------------------------------+
|
||||
| App |
|
||||
@@ -27,100 +20,32 @@ import java.util.Map;
|
||||
| |
|
||||
+-----------------------------------------------------*/
|
||||
|
||||
public class ComputeProgram {
|
||||
private final static Logger logger = LoggerFactory.getLogger(Renderer.class);
|
||||
public class ComputeProgram extends Program {
|
||||
|
||||
protected GL4 gl;
|
||||
|
||||
private int shaderProgram;
|
||||
private GL4 gl4;
|
||||
private int computeShader;
|
||||
|
||||
private Map<String, Integer> uniformLocations = new HashMap<>();
|
||||
private Map<String, Integer> attribLocations = new HashMap<>();
|
||||
|
||||
public ComputeProgram(GL4 gl, String compute) {
|
||||
this.gl = gl;
|
||||
|
||||
super(gl);
|
||||
this.gl4 = gl;
|
||||
|
||||
computeShader = createAndCompileShader(GL4.GL_COMPUTE_SHADER, compute);
|
||||
|
||||
shaderProgram = gl.glCreateProgram();
|
||||
program = gl.glCreateProgram();
|
||||
|
||||
gl.glAttachShader(shaderProgram, computeShader);
|
||||
gl.glAttachShader(program, computeShader);
|
||||
|
||||
gl.glLinkProgram(shaderProgram);
|
||||
}
|
||||
|
||||
public int getUniformLocation(String uniform) {
|
||||
Integer result = uniformLocations.get(uniform);
|
||||
|
||||
if (result == null) {
|
||||
result = gl.glGetUniformLocation(shaderProgram, uniform);
|
||||
|
||||
uniformLocations.put(uniform, result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public int getAttribLocation(String attrib) {
|
||||
Integer result = attribLocations.get(attrib);
|
||||
|
||||
if (result == null) {
|
||||
result = gl.glGetAttribLocation(shaderProgram, attrib);
|
||||
|
||||
attribLocations.put(attrib, result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public void bindAttributeLocation(int location, String name) {
|
||||
gl.glBindAttribLocation(shaderProgram, location, name);
|
||||
}
|
||||
|
||||
public void begin() {
|
||||
gl.glUseProgram(shaderProgram);
|
||||
gl.glLinkProgram(program);
|
||||
}
|
||||
|
||||
public void compute(int x, int y, int z) {
|
||||
gl.glDispatchCompute(x, y, z);
|
||||
}
|
||||
|
||||
public void end() {
|
||||
gl.glUseProgram(0);
|
||||
gl4.glDispatchCompute(x, y, z);
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
gl.glDetachShader(shaderProgram, computeShader);
|
||||
gl.glDetachShader(program, computeShader);
|
||||
gl.glDeleteShader(computeShader);
|
||||
|
||||
gl.glDeleteProgram(shaderProgram);
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
private int createAndCompileShader(int type, String shaderString) {
|
||||
int shader = gl.glCreateShader(type);
|
||||
|
||||
String[] vlines = new String[]{shaderString};
|
||||
int[] vlengths = new int[]{vlines[0].length()};
|
||||
|
||||
gl.glShaderSource(shader, vlines.length, vlines, vlengths, 0);
|
||||
gl.glCompileShader(shader);
|
||||
|
||||
int[] compiled = new int[1];
|
||||
gl.glGetShaderiv(shader, GL2ES2.GL_COMPILE_STATUS, compiled, 0);
|
||||
|
||||
if (compiled[0] == 0) {
|
||||
int[] logLength = new int[1];
|
||||
gl.glGetShaderiv(shader, GL2ES2.GL_INFO_LOG_LENGTH, logLength, 0);
|
||||
|
||||
byte[] log = new byte[logLength[0]];
|
||||
gl.glGetShaderInfoLog(shader, logLength[0], (int[]) null, 0, log, 0);
|
||||
|
||||
throw new IllegalStateException("Error compiling the shader: " + new String(log));
|
||||
}
|
||||
|
||||
return shader;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
107
src/com/persesgames/jogl/shader/Program.java
Normal file
107
src/com/persesgames/jogl/shader/Program.java
Normal file
@@ -0,0 +1,107 @@
|
||||
package com.persesgames.jogl.shader;
|
||||
|
||||
import com.persesgames.jogl.Renderer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.media.opengl.GL2ES2;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/*-----------------------------------------------------+
|
||||
| App |
|
||||
| pPPAPPp |
|
||||
| APP PPa |
|
||||
| APA pPP PapA PapA |
|
||||
| PPA APA pP P pP P |
|
||||
| APPPPPPPA PPp Ap Ap Ap Ap |
|
||||
| apPPA aPP P P |
|
||||
| APA pPP p p |
|
||||
| pPP PPA |
|
||||
| PPp PPPp |
|
||||
| |
|
||||
| Created by: App Software |
|
||||
| Email: info@appsoftware.nl |
|
||||
| Web: http://www.appsoftware.nl/ |
|
||||
| |
|
||||
+-----------------------------------------------------*/
|
||||
|
||||
public abstract class Program {
|
||||
|
||||
protected GL2ES2 gl;
|
||||
|
||||
protected int program;
|
||||
|
||||
private Map<String, Integer> uniformLocations = new HashMap<>();
|
||||
private Map<String, Integer> attribLocations = new HashMap<>();
|
||||
|
||||
public Program(GL2ES2 gl) {
|
||||
this.gl = gl;
|
||||
}
|
||||
|
||||
public int getUniformLocation(String uniform) {
|
||||
Integer result = uniformLocations.get(uniform);
|
||||
|
||||
if (result == null) {
|
||||
result = gl.glGetUniformLocation(program, uniform);
|
||||
|
||||
uniformLocations.put(uniform, result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public int getAttribLocation(String attrib) {
|
||||
Integer result = attribLocations.get(attrib);
|
||||
|
||||
if (result == null) {
|
||||
result = gl.glGetAttribLocation(program, attrib);
|
||||
|
||||
attribLocations.put(attrib, result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public void bindAttributeLocation(int location, String name) {
|
||||
gl.glBindAttribLocation(program, location, name);
|
||||
}
|
||||
|
||||
public void begin() {
|
||||
gl.glUseProgram(program);
|
||||
}
|
||||
|
||||
public void end() {
|
||||
gl.glUseProgram(0);
|
||||
}
|
||||
|
||||
protected void dispose() {
|
||||
gl.glDeleteProgram(program);
|
||||
}
|
||||
|
||||
protected int createAndCompileShader(int type, String shaderString) {
|
||||
int shader = gl.glCreateShader(type);
|
||||
|
||||
String[] vlines = new String[]{shaderString};
|
||||
int[] vlengths = new int[]{vlines[0].length()};
|
||||
|
||||
gl.glShaderSource(shader, vlines.length, vlines, vlengths, 0);
|
||||
gl.glCompileShader(shader);
|
||||
|
||||
int[] compiled = new int[1];
|
||||
gl.glGetShaderiv(shader, GL2ES2.GL_COMPILE_STATUS, compiled, 0);
|
||||
|
||||
if (compiled[0] == 0) {
|
||||
int[] logLength = new int[1];
|
||||
gl.glGetShaderiv(shader, GL2ES2.GL_INFO_LOG_LENGTH, logLength, 0);
|
||||
|
||||
byte[] log = new byte[logLength[0]];
|
||||
gl.glGetShaderInfoLog(shader, logLength[0], (int[]) null, 0, log, 0);
|
||||
|
||||
throw new IllegalStateException("Error compiling the shader: " + new String(log));
|
||||
}
|
||||
|
||||
return shader;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,8 +5,6 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.media.opengl.GL2ES2;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/*-----------------------------------------------------+
|
||||
| App |
|
||||
@@ -26,20 +24,14 @@ import java.util.Map;
|
||||
| |
|
||||
+-----------------------------------------------------*/
|
||||
|
||||
public class ShaderProgram {
|
||||
public class ShaderProgram extends Program {
|
||||
private final static Logger logger = LoggerFactory.getLogger(Renderer.class);
|
||||
|
||||
private GL2ES2 gl;
|
||||
|
||||
private int shaderProgram;
|
||||
private int vertShader;
|
||||
private int fragShader;
|
||||
|
||||
private Map<String, Integer> uniformLocations = new HashMap<>();
|
||||
private Map<String, Integer> attribLocations = new HashMap<>();
|
||||
|
||||
public ShaderProgram(GL2ES2 gl, String vertex, String fragment) {
|
||||
this.gl = gl;
|
||||
super(gl);
|
||||
|
||||
if (gl.isGL3core()) {
|
||||
logger.info("GL3 core detected: explicit adding #version 130 to shaders");
|
||||
@@ -51,81 +43,21 @@ public class ShaderProgram {
|
||||
vertShader = createAndCompileShader(GL2ES2.GL_VERTEX_SHADER, vertex);
|
||||
fragShader = createAndCompileShader(GL2ES2.GL_FRAGMENT_SHADER, fragment);
|
||||
|
||||
shaderProgram = gl.glCreateProgram();
|
||||
program = gl.glCreateProgram();
|
||||
|
||||
gl.glAttachShader(shaderProgram, vertShader);
|
||||
gl.glAttachShader(shaderProgram, fragShader);
|
||||
gl.glAttachShader(program, vertShader);
|
||||
gl.glAttachShader(program, fragShader);
|
||||
|
||||
gl.glLinkProgram(shaderProgram);
|
||||
}
|
||||
|
||||
public int getUniformLocation(String uniform) {
|
||||
Integer result = uniformLocations.get(uniform);
|
||||
|
||||
if (result == null) {
|
||||
result = gl.glGetUniformLocation(shaderProgram, uniform);
|
||||
|
||||
uniformLocations.put(uniform, result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public int getAttribLocation(String attrib) {
|
||||
Integer result = attribLocations.get(attrib);
|
||||
|
||||
if (result == null) {
|
||||
result = gl.glGetAttribLocation(shaderProgram, attrib);
|
||||
|
||||
attribLocations.put(attrib, result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public void bindAttributeLocation(int location, String name) {
|
||||
gl.glBindAttribLocation(shaderProgram, location, name);
|
||||
}
|
||||
|
||||
public void begin() {
|
||||
gl.glUseProgram(shaderProgram);
|
||||
}
|
||||
|
||||
public void end() {
|
||||
gl.glUseProgram(0);
|
||||
gl.glLinkProgram(program);
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
gl.glDetachShader(shaderProgram, vertShader);
|
||||
gl.glDetachShader(program, vertShader);
|
||||
gl.glDeleteShader(vertShader);
|
||||
gl.glDetachShader(shaderProgram, fragShader);
|
||||
gl.glDetachShader(program, fragShader);
|
||||
gl.glDeleteShader(fragShader);
|
||||
gl.glDeleteProgram(shaderProgram);
|
||||
}
|
||||
|
||||
private int createAndCompileShader(int type, String shaderString) {
|
||||
int shader = gl.glCreateShader(type);
|
||||
|
||||
String[] vlines = new String[]{shaderString};
|
||||
int[] vlengths = new int[]{vlines[0].length()};
|
||||
|
||||
gl.glShaderSource(shader, vlines.length, vlines, vlengths, 0);
|
||||
gl.glCompileShader(shader);
|
||||
|
||||
int[] compiled = new int[1];
|
||||
gl.glGetShaderiv(shader, GL2ES2.GL_COMPILE_STATUS, compiled, 0);
|
||||
|
||||
if (compiled[0] == 0) {
|
||||
int[] logLength = new int[1];
|
||||
gl.glGetShaderiv(shader, GL2ES2.GL_INFO_LOG_LENGTH, logLength, 0);
|
||||
|
||||
byte[] log = new byte[logLength[0]];
|
||||
gl.glGetShaderInfoLog(shader, logLength[0], (int[]) null, 0, log, 0);
|
||||
|
||||
throw new IllegalStateException("Error compiling the shader: " + new String(log));
|
||||
}
|
||||
|
||||
return shader;
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user