diff --git a/.idea/EG.iml b/.idea/EG.iml index c4790da4..bb7fb320 100644 --- a/.idea/EG.iml +++ b/.idea/EG.iml @@ -4,7 +4,7 @@ - + diff --git a/.idea/misc.xml b/.idea/misc.xml index e1866b11..c76b5032 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,5 +3,5 @@ - + \ No newline at end of file diff --git a/RenderPipelineFile/config/daytime.yaml b/RenderPipelineFile/config/daytime.yaml index 6bb60b02..54447c55 100644 --- a/RenderPipelineFile/config/daytime.yaml +++ b/RenderPipelineFile/config/daytime.yaml @@ -17,8 +17,8 @@ control_points: scattering: sun_intensity: [[[0.0000000000,0.0000000000],[0.0041666667,0.0000000000],[0.0083333333,0.0000000000],[0.0125000000,0.0000000000],[0.0166666667,0.0000000000],[0.0208333333,0.0000000000],[0.0250000000,0.0000000000],[0.0291666667,0.0000000000],[0.0333333333,0.0000000000],[0.0375000000,0.0000000000],[0.0416666667,0.0000000000],[0.0458333333,0.0000000000],[0.0500000000,0.0000000000],[0.0541666667,0.0000000000],[0.0583333333,0.0000000000],[0.0625000000,0.0000000000],[0.0666666667,0.0000000000],[0.0708333333,0.0000000000],[0.0750000000,0.0000000000],[0.0791666667,0.0000000000],[0.0833333333,0.0000000000],[0.0875000000,0.0000000000],[0.0916666667,0.0000000000],[0.0958333333,0.0000000000],[0.1000000000,0.0000000000],[0.1041666667,0.0000000000],[0.1083333333,0.0000000000],[0.1125000000,0.0000000000],[0.1166666667,0.0000000000],[0.1208333333,0.0000000000],[0.1250000000,0.0000000000],[0.1291666667,0.0000000000],[0.1333333333,0.0000000000],[0.1375000000,0.0000000000],[0.1416666667,0.0000000000],[0.1458333333,0.0000000000],[0.1500000000,0.0000000000],[0.1541666667,0.0000000000],[0.1583333333,0.0000028805],[0.1625000000,0.0003577724],[0.1666666667,0.0013331400],[0.1708333333,0.0029671803],[0.1750000000,0.0052963381],[0.1791666667,0.0083550556],[0.1833333333,0.0121755589],[0.1875000000,0.0167876159],[0.1916666667,0.0222183530],[0.1958333333,0.0284919947],[0.2000000000,0.0356297193],[0.2041666667,0.0436494349],[0.2083333333,0.0525656099],[0.2125000000,0.0623891610],[0.2166666667,0.0731272461],[0.2208333333,0.0847831708],[0.2250000000,0.0973563167],[0.2291666667,0.1108419698],[0.2333333333,0.1252313631],[0.2375000000,0.1405115250],[0.2416666667,0.1566653434],[0.2458333333,0.1736715009],[0.2500000000,0.1915046014],[0.2541666667,0.2101350464],[0.2583333333,0.2295292930],[0.2625000000,0.2496498145],[0.2666666667,0.2704552670],[0.2708333333,0.2919006662],[0.2750000000,0.3139375192],[0.2791666667,0.3365139497],[0.2833333333,0.3595750662],[0.2875000000,0.3830630359],[0.2916666667,0.4069173972],[0.2958333333,0.4310753462],[0.3000000000,0.4554720417],[0.3041666667,0.4800408236],[0.3083333333,0.5047136020],[0.3125000000,0.5294212108],[0.3166666667,0.5540936424],[0.3208333333,0.5786605298],[0.3250000000,0.6030514553],[0.3291666667,0.6271963182],[0.3333333333,0.6510256858],[0.3375000000,0.6744711982],[0.3416666667,0.6974659988],[0.3458333333,0.7199450163],[0.3500000000,0.7418453485],[0.3541666667,0.7631067095],[0.3583333333,0.7836717291],[0.3625000000,0.8034862953],[0.3666666667,0.8224999302],[0.3708333333,0.8406661079],[0.3750000000,0.8579425235],[0.3791666667,0.8742914270],[0.3833333333,0.8896799131],[0.3875000000,0.9040801386],[0.3916666667,0.9174695289],[0.3958333333,0.9298310650],[0.4000000000,0.9411533765],[0.4041666667,0.9514309312],[0.4083333333,0.9606641691],[0.4125000000,0.9688595571],[0.4166666667,0.9760296330],[0.4208333333,0.9821930708],[0.4250000000,0.9873746114],[0.4291666667,0.9916050060],[0.4333333333,0.9949209310],[0.4375000000,0.9973647924],[0.4416666667,0.9989845508],[0.4458333333,0.9998334497],[0.4500000000,0.9999696949],[0.4541666667,0.9994560801],[0.4583333333,0.9983595429],[0.4625000000,0.9967506613],[0.4666666667,0.9947030614],[0.4708333333,0.9922927758],[0.4750000000,0.9895975125],[0.4791666667,0.9866958610],[0.4833333333,0.9836664262],[0.4875000000,0.9805868867],[0.4916666667,0.9775330316],[0.4958333333,0.9745777179],[0.5000000000,0.9717898417],[0.5041666667,0.9692332877],[0.5083333333,0.9669658924],[0.5125000000,0.9650384806],[0.5089595376,0.9690650222],[0.5208333333,0.9623666659],[0.5250000000,0.9616814371],[0.5291666667,0.9614534423],[0.5333333333,0.9616877089],[0.5375000000,0.9623790807],[0.5416666667,0.9635123329],[0.5458333333,0.9650624244],[0.5500000000,0.9669949804],[0.5541666667,0.9692669864],[0.5583333333,0.9718275065],[0.5625000000,0.9746185969],[0.5666666667,0.9775762863],[0.5708333333,0.9806315864],[0.5750000000,0.9837115661],[0.5791666667,0.9867403433],[0.5833333333,0.9896401655],[0.5875000000,0.9923323562],[0.5916666667,0.9947382579],[0.5958333333,0.9967800977],[0.6000000000,0.9983817820],[0.6041666667,0.9994696263],[0.6083333333,0.9999730028],[0.6125000000,0.9998249266],[0.6166666667,0.9989625601],[0.6208333333,0.9973276624],[0.6250000000,0.9948669567],[0.6291666667,0.9915324664],[0.6333333333,0.9872817545],[0.6375000000,0.9820781426],[0.6416666667,0.9758908775],[0.6458333333,0.9686952146],[0.6500000000,0.9604725211],[0.6541666667,0.9512102537],[0.6583333333,0.9409019858],[0.6625000000,0.9295473441],[0.6666666667,0.9171518878],[0.6708333333,0.9037270619],[0.6750000000,0.8892899902],[0.6791666667,0.8738633008],[0.6833333333,0.8574749656],[0.6875000000,0.8401579787],[0.6916666667,0.8219502453],[0.6958333333,0.8028941798],[0.7000000000,0.7830364456],[0.7041666667,0.7624277344],[0.7083333333,0.7411222520],[0.7125000000,0.7191776044],[0.7166666667,0.6966542563],[0.7208333333,0.6736152714],[0.7250000000,0.6501259629],[0.7291666667,0.6262533880],[0.7333333333,0.6020661121],[0.7375000000,0.5776338043],[0.7416666667,0.5530267796],[0.7458333333,0.5283156992],[0.7500000000,0.5035711751],[0.7541666667,0.4788634341],[0.7583333333,0.4542618347],[0.7625000000,0.4298347613],[0.7666666667,0.4056490351],[0.7708333333,0.3817697830],[0.7750000000,0.3582600107],[0.7791666667,0.3351803495],[0.7833333333,0.3125888445],[0.7875000000,0.2905406366],[0.7916666667,0.2690876955],[0.7958333333,0.2482787388],[0.8000000000,0.2281588906],[0.8041666667,0.2087696425],[0.8083333333,0.1901486315],[0.8125000000,0.1723295359],[0.8166666667,0.1553419918],[0.8208333333,0.1392115328],[0.8250000000,0.1239595144],[0.8291666667,0.1096030703],[0.8333333333,0.0961551918],[0.8375000000,0.0836246599],[0.8416666667,0.0720161369],[0.8458333333,0.0613302273],[0.8500000000,0.0515635598],[0.8541666667,0.0427088803],[0.8583333333,0.0347551990],[0.8625000000,0.0276878920],[0.8666666667,0.0214889271],[0.8708333333,0.0161369711],[0.8750000000,0.0116076130],[0.8791666667,0.0078735477],[0.8833333333,0.0049047927],[0.8875000000,0.0026688977],[0.8916666667,0.0011311782],[0.8958333333,0.0002549473],[0.9000000000,0.0000000000],[0.9041666667,0.0000000000],[0.9083333333,0.0000000000],[0.9125000000,0.0000000000],[0.9166666667,0.0000000000],[0.9208333333,0.0000000000],[0.9250000000,0.0000000000],[0.9291666667,0.0000000000],[0.9333333333,0.0000000000],[0.9375000000,0.0000000000],[0.9416666667,0.0000000000],[0.9458333333,0.0000000000],[0.9500000000,0.0000000000],[0.9541666667,0.0000000000],[0.9583333333,0.0000000000],[0.9625000000,0.0000000000],[0.9666666667,0.0000000000],[0.9708333333,0.0000000000],[0.9750000000,0.0000000000],[0.9791666667,0.0000000000],[0.9833333333,0.0000000000],[0.9875000000,0.0000000000],[0.9916666667,0.0000000000],[0.9958333333,0.0000000000]]] sun_color: [[[0.5010435645,0.5818710306],[0.0433100000,0.8999700000],[0.8635787716,0.9130000000],[0.1785000000,0.8973600000],[0.8099800000,0.8651100000],[0.2360800000,0.7712700000],[0.6583432177,0.8485126184],[0.1266806142,0.9648102053],[0.9558541267,0.9090909091],[0.5568400771,0.7353760446]],[[0.5001318426,0.5160300000],[0.0572700000,0.6541600000],[0.2395000000,0.5976800000],[0.8104600000,0.6009000000],[0.6967400000,0.5483900000]],[[0.0862400000,0.4257800000],[0.4955600000,0.4033000000],[0.8234200000,0.4340200000]]] - sun_azimuth: [[[0.5000000000,0.4944444444]]] - sun_altitude: [[[0.5000000000,0.9666666667]]] + sun_azimuth: [[[0.5000000000,0.6250000000]]] + sun_altitude: [[[0.5000000000,0.9555555556]]] extinction: [[[0.4913294798,0.6378830084]]] volumetrics: fog_ramp_size: [[[0.5510597303,0.7409470752]]] diff --git a/RenderPipelineFile/samples/.gitignore b/RenderPipelineFile/samples/.gitignore deleted file mode 100644 index ba1fdf8a..00000000 --- a/RenderPipelineFile/samples/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -*.pyc -*.pyd - -*.blend1 -03-Forest -06-Map -*.blend1 -*.blend2 diff --git a/RenderPipelineFile/samples/00-Loading the pipeline/main-possibility2.py b/RenderPipelineFile/samples/00-Loading the pipeline/main-possibility2.py deleted file mode 100644 index ce8e6915..00000000 --- a/RenderPipelineFile/samples/00-Loading the pipeline/main-possibility2.py +++ /dev/null @@ -1,28 +0,0 @@ -""" - -This is an alternative possibility of initializing the RenderPipeline, which -makes it possible to construct the ShowBase object manually - -""" - -import sys -from direct.showbase.ShowBase import ShowBase - -# Insert the pipeline path to the system path, this is required to be -# able to import the pipeline classes. In case you placed the render -# pipeline in a subfolder of your project, you have to adjust this. -sys.path.insert(0, "../../RenderPipeline") -sys.path.insert(0, "../../") - -# Import render pipeline classes -from rpcore import RenderPipeline - -# Construct and create the pipeline -render_pipeline = RenderPipeline() -render_pipeline.pre_showbase_init() - -# Construct and create the ShowBase -base = ShowBase() -render_pipeline.create(base) - -base.run() diff --git a/RenderPipelineFile/samples/00-Loading the pipeline/main-possibility3.py b/RenderPipelineFile/samples/00-Loading the pipeline/main-possibility3.py deleted file mode 100644 index 3bedec2e..00000000 --- a/RenderPipelineFile/samples/00-Loading the pipeline/main-possibility3.py +++ /dev/null @@ -1,28 +0,0 @@ -""" - -This is an alternative possibility of initializing the RenderPipeline, which -uses the (deprecated!) DirectStart interface. This should not be used anymore, -except for fast prototyping. - -""" - -import sys - -# Insert the pipeline path to the system path, this is required to be -# able to import the pipeline classes. In case you placed the render -# pipeline in a subfolder of your project, you have to adjust this. -sys.path.insert(0, "../../") -sys.path.insert(0, "../../RenderPipeline") - -# Import render pipeline classes -from rpcore import RenderPipeline - -# Construct and create the pipeline -render_pipeline = RenderPipeline() -render_pipeline.pre_showbase_init() - -# Import (deprecated!) DirectStart interface -import direct.directbase.DirectStart -render_pipeline.create(base) - -base.run() diff --git a/RenderPipelineFile/samples/00-Loading the pipeline/main.py b/RenderPipelineFile/samples/00-Loading the pipeline/main.py deleted file mode 100644 index 43ce052c..00000000 --- a/RenderPipelineFile/samples/00-Loading the pipeline/main.py +++ /dev/null @@ -1,39 +0,0 @@ -""" - -Simplest possible application using the render pipeline. - -This sample will not show any fancy rendering output, but you can base your own -applications on this skeleton. - -This is the preferred way of initializing the pipeline, however you can find -alternative ways in the other included files. - -""" - -import sys -from direct.showbase.ShowBase import ShowBase - - -class Application(ShowBase): - - def __init__(self): - # Notice that you must not call ShowBase.__init__ (or super), the - # render pipeline does that for you. If this is unconvenient for you, - # have a look at the other initialization possibilities. - - # Insert the pipeline path to the system path, this is required to be - # able to import the pipeline classes. In case you placed the render - # pipeline in a subfolder of your project, you have to adjust this. - sys.path.insert(0, "../../") - sys.path.insert(0, "../../RenderPipeline") - - # Import the main render pipeline class - from rpcore import RenderPipeline - - # Construct and create the pipeline - self.render_pipeline = RenderPipeline() - self.render_pipeline.create(self) - - # Done! You can start setting up your application stuff as regular now. - -Application().run() diff --git a/RenderPipelineFile/samples/00-Loading the pipeline/screenshot.png b/RenderPipelineFile/samples/00-Loading the pipeline/screenshot.png deleted file mode 100644 index d1db7da9..00000000 Binary files a/RenderPipelineFile/samples/00-Loading the pipeline/screenshot.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/main.py b/RenderPipelineFile/samples/01-Material-Demo/main.py deleted file mode 100644 index 49534cb3..00000000 --- a/RenderPipelineFile/samples/01-Material-Demo/main.py +++ /dev/null @@ -1,72 +0,0 @@ -""" - -Material Demo - -This demonstrates the various materials the pipeline supports. -It is also a reference scene, for testing BRDF changes. - -""" - -from __future__ import print_function - -import os -import sys -from panda3d.core import Vec3, load_prc_file_data -from direct.showbase.ShowBase import ShowBase - -# Change to the current directory -os.chdir(os.path.dirname(os.path.realpath(__file__))) - -# Insert the pipeline path to the system path, this is required to be -# able to import the pipeline classes -pipeline_path = "../../" - -# Just a special case for my development setup, so I don't accidentally -# commit a wrong path. You can remove this in your own programs. -if not os.path.isfile(os.path.join(pipeline_path, "setup.py")): - pipeline_path = "../../RenderPipeline/" - -sys.path.insert(0, pipeline_path) - -# Import the render pipeline class -from rpcore import RenderPipeline - -# This is a helper class for better camera movement - see below. -from rpcore.util.movement_controller import MovementController - - -class Application(ShowBase): - def __init__(self): - # Setup window size and title - load_prc_file_data("", """ - # win-size 1600 900 - window-title Render Pipeline - Material Sample - """) - - # Construct the render pipeline - self.render_pipeline = RenderPipeline() - self.render_pipeline.create(self) - self.render_pipeline.daytime_mgr.time = "19:17" - # self.render_pipeline.daytime_mgr.time = "12:00" - - # Load the scene - model = self.loader.load_model("scene/TestScene.bam") - model.reparent_to(self.render) - - self.render_pipeline.prepare_scene(model) - - # Enable parallax mapping on the floor - # self.render_pipeline.set_effect( - # model.find("**/FloorPlane"), - # "effects/default.yaml", {"parallax_mapping": True}, 100) - - # Initialize movement controller, this is a convenience class - # to provide an improved camera control compared to Panda3Ds default - # mouse controller. - self.controller = MovementController(self) - self.controller.set_initial_position_hpr( - Vec3(-17.2912578583, -13.290019989, 6.88211250305), - Vec3(-39.7285499573, -14.6770210266, 0.0)) - self.controller.setup() - -Application().run() diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/.gitignore b/RenderPipelineFile/samples/01-Material-Demo/scene/.gitignore deleted file mode 100644 index 256bf264..00000000 --- a/RenderPipelineFile/samples/01-Material-Demo/scene/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.blend diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/TestScene.7z b/RenderPipelineFile/samples/01-Material-Demo/scene/TestScene.7z deleted file mode 100644 index 72c48efe..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/TestScene.7z and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/TestScene.bam b/RenderPipelineFile/samples/01-Material-Demo/scene/TestScene.bam deleted file mode 100644 index a11116ea..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/TestScene.bam and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CobaltBasecolor.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CobaltBasecolor.png deleted file mode 100644 index ab9ede2b..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CobaltBasecolor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CobaltNormal.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CobaltNormal.png deleted file mode 100644 index 966ff811..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CobaltNormal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CobaltSpecular.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CobaltSpecular.png deleted file mode 100644 index 909e6f28..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CobaltSpecular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Concrete.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Concrete.png deleted file mode 100644 index c7697801..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Concrete.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CopperBasecolor.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CopperBasecolor.png deleted file mode 100644 index 9b40b9c9..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CopperBasecolor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CopperNormal.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CopperNormal.png deleted file mode 100644 index e32fb325..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CopperNormal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CopperSpecular.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CopperSpecular.png deleted file mode 100644 index 98d3558f..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/CopperSpecular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/EmptyBaseColor.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/EmptyBaseColor.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/EmptyBaseColor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/EmptyNormal.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/EmptyNormal.png deleted file mode 100644 index 863dc2ec..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/EmptyNormal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/EmptyRoughness.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/EmptyRoughness.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/EmptyRoughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/EmptySpecular.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/EmptySpecular.png deleted file mode 100644 index 26ee2247..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/EmptySpecular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FLoorBG2DISP.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FLoorBG2DISP.png deleted file mode 100644 index 4a51469e..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FLoorBG2DISP.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FLoorBG2SPEC.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FLoorBG2SPEC.png deleted file mode 100644 index 77157db5..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FLoorBG2SPEC.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBG.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBG.png deleted file mode 100644 index 1fa7b6cb..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBG.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBG2.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBG2.png deleted file mode 100644 index 9666b211..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBG2.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBG2NRM.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBG2NRM.png deleted file mode 100644 index 2c62714c..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBG2NRM.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBGNRM.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBGNRM.png deleted file mode 100644 index c0ba85cc..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBGNRM.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBGSPEC.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBGSPEC.png deleted file mode 100644 index 3f322f7a..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/FloorBGSPEC.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/GridBG.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/GridBG.png deleted file mode 100644 index 8dd6369f..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/GridBG.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Leather.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Leather.png deleted file mode 100644 index b6f947d9..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Leather.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/LeatherNRM.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/LeatherNRM.png deleted file mode 100644 index 4a52fe60..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/LeatherNRM.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/LeatherSPEC.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/LeatherSPEC.png deleted file mode 100644 index 1f4fe999..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/LeatherSPEC.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/MetalBasecolor.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/MetalBasecolor.png deleted file mode 100644 index 0fe6bdaa..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/MetalBasecolor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/MetalNormal.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/MetalNormal.png deleted file mode 100644 index a96c3c71..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/MetalNormal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/MetalSpecular.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/MetalSpecular.png deleted file mode 100644 index 96f38961..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/MetalSpecular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/RoughnessGradient.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/RoughnessGradient.png deleted file mode 100644 index a2269ebd..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/RoughnessGradient.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Sign_MeasuredMetal.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Sign_MeasuredMetal.png deleted file mode 100644 index 5169a6b9..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Sign_MeasuredMetal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Sign_Metallic.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Sign_Metallic.png deleted file mode 100644 index bf1d7730..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Sign_Metallic.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Sign_Nonmetallic.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Sign_Nonmetallic.png deleted file mode 100644 index 90189c8c..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Sign_Nonmetallic.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Sign_materials.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Sign_materials.png deleted file mode 100644 index 2cba0df2..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Sign_materials.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/StoneMask.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/StoneMask.png deleted file mode 100644 index bf794786..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/StoneMask.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Stones_01_Atlas_Diffuse_01.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Stones_01_Atlas_Diffuse_01.png deleted file mode 100644 index af506ff1..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Stones_01_Atlas_Diffuse_01.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Stones_01_Atlas_Normal_02.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Stones_01_Atlas_Normal_02.png deleted file mode 100644 index 25cf9158..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Stones_01_Atlas_Normal_02.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Stripes.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Stripes.png deleted file mode 100644 index 6d36024d..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/Stripes.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/empty_basecolor.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/empty_basecolor.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/empty_basecolor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/empty_normal.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/empty_normal.png deleted file mode 100644 index 863dc2ec..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/empty_normal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/empty_roughness.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/empty_roughness.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/empty_roughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/empty_specular.png b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/empty_specular.png deleted file mode 100644 index 26ee2247..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/empty_specular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/grass_diffuse.jpg b/RenderPipelineFile/samples/01-Material-Demo/scene/tex/grass_diffuse.jpg deleted file mode 100644 index 503fa784..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/scene/tex/grass_diffuse.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/01-Material-Demo/screenshot.png b/RenderPipelineFile/samples/01-Material-Demo/screenshot.png deleted file mode 100644 index 888155b6..00000000 Binary files a/RenderPipelineFile/samples/01-Material-Demo/screenshot.png and /dev/null differ diff --git a/RenderPipelineFile/samples/02-Roaming-Ralph/main.py b/RenderPipelineFile/samples/02-Roaming-Ralph/main.py deleted file mode 100644 index c78f5eb4..00000000 --- a/RenderPipelineFile/samples/02-Roaming-Ralph/main.py +++ /dev/null @@ -1,315 +0,0 @@ -""" - -Roaming Ralph Sample (modified) - -This is the default roaming ralph sample, with the render pipeline. -Using the render pipeline is only the matter of a few lines, which have -been explicitely marked. - -NOTICE: Since this is a straight copy of the standard roaming ralph sample, - this attempts to keep as close to the original code to make it easier - to see where to load the render pipeline. - - If you find a bug/suggestion in this code, then you should report - that to the sample included in Panda3D, and not this code. - - (and yeah, this code could surely be written in a much nicer way) - -""" - -import os -import sys - -from panda3d.core import CollisionTraverser, CollisionNode -from panda3d.core import CollisionHandlerQueue, CollisionRay -from panda3d.core import AmbientLight, DirectionalLight -from panda3d.core import PandaNode, NodePath, TextNode -from panda3d.core import Vec3, Vec4, BitMask32, load_prc_file_data -from direct.gui.OnscreenText import OnscreenText -from direct.actor.Actor import Actor -from direct.showbase.ShowBase import ShowBase - - -# Switch into the current directory -os.chdir(os.path.realpath(os.path.dirname(__file__))) - -SPEED = 0.5 - - -# Function to put instructions on the screen. -def addInstructions(pos, msg): - return OnscreenText(text=msg, style=1, fg=(1, 1, 1, 1), - pos=(-0.9, pos - 0.2), align=TextNode.ALeft, scale=.035) - - -class World(ShowBase): - - def __init__(self): - - # Setup window size, title and so on - load_prc_file_data("", """ - win-size 1600 900 - window-title Render Pipeline - Roaming Ralph Demo - """) - - # ------ Begin of render pipeline code ------ - - # Insert the pipeline path to the system path, this is required to be - # able to import the pipeline classes - pipeline_path = "../../" - - # Just a special case for my development setup, so I don't accidentally - # commit a wrong path. You can remove this in your own programs. - if not os.path.isfile(os.path.join(pipeline_path, "setup.py")): - pipeline_path = "../../RenderPipeline/" - - sys.path.insert(0, pipeline_path) - - from rpcore import RenderPipeline, SpotLight - self.render_pipeline = RenderPipeline() - self.render_pipeline.create(self) - - # ------ End of render pipeline code, thats it! ------ - - # Set time of day - self.render_pipeline.daytime_mgr.time = "7:40" - - # Use a special effect for rendering the scene, this is because the - # roaming ralph model has no normals or valid materials - self.render_pipeline.set_effect(render, "scene-effect.yaml", {}, sort=250) - - self.keyMap = {"left":0, "right":0, "forward":0, "backward":0, "cam-left":0, "cam-right":0} - self.speed = 1.0 - base.win.setClearColor(Vec4(0,0,0,1)) - - # Post the instructions - - self.inst1 = addInstructions(0.95, "[ESC] Quit") - self.inst4 = addInstructions(0.90, "[W] Run Ralph Forward") - self.inst4 = addInstructions(0.85, "[S] Run Ralph Backward") - self.inst2 = addInstructions(0.80, "[A] Rotate Ralph Left") - self.inst3 = addInstructions(0.75, "[D] Rotate Ralph Right") - self.inst6 = addInstructions(0.70, "[Left Arrow] Rotate Camera Left") - self.inst7 = addInstructions(0.65, "[Right Arrow] Rotate Camera Right") - - # Set up the environment - # - # This environment model contains collision meshes. If you look - # in the egg file, you will see the following: - # - # { Polyset keep descend } - # - # This tag causes the following mesh to be converted to a collision - # mesh -- a mesh which is optimized for collision, not rendering. - # It also keeps the original mesh, so there are now two copies --- - # one optimized for rendering, one for collisions. - - self.environ = loader.loadModel("resources/world") - self.environ.reparentTo(render) - self.environ.setPos(0,0,0) - - - # Remove wall nodes - self.environ.find("**/wall").remove_node() - - # Create the main character, Ralph - self.ralph = Actor("resources/ralph", - {"run":"resources/ralph-run", - "walk":"resources/ralph-walk"}) - self.ralph.reparentTo(render) - self.ralph.setScale(.2) - self.ralph.setPos(Vec3(-110.9, 29.4, 1.8)) - - # Create a floater object. We use the "floater" as a temporary - # variable in a variety of calculations. - - self.floater = NodePath(PandaNode("floater")) - self.floater.reparentTo(render) - - # Accept the control keys for movement and rotation - - self.accept("escape", sys.exit) - self.accept("a", self.setKey, ["left",1]) - self.accept("d", self.setKey, ["right",1]) - self.accept("w", self.setKey, ["forward",1]) - self.accept("s", self.setKey, ["backward",1]) - self.accept("arrow_left", self.setKey, ["cam-left",1]) - self.accept("arrow_right", self.setKey, ["cam-right",1]) - self.accept("a-up", self.setKey, ["left",0]) - self.accept("d-up", self.setKey, ["right",0]) - self.accept("w-up", self.setKey, ["forward",0]) - self.accept("s-up", self.setKey, ["backward",0]) - self.accept("arrow_left-up", self.setKey, ["cam-left",0]) - self.accept("arrow_right-up", self.setKey, ["cam-right",0]) - self.accept("=", self.adjustSpeed, [0.25]) - self.accept("+", self.adjustSpeed, [0.25]) - self.accept("-", self.adjustSpeed, [-0.25]) - - taskMgr.add(self.move,"moveTask") - - # Game state variables - self.isMoving = False - - # Set up the camera - - base.disableMouse() - base.camera.setPos(self.ralph.getX() + 10,self.ralph.getY() + 10, 2) - base.camLens.setFov(80) - - # We will detect the height of the terrain by creating a collision - # ray and casting it downward toward the terrain. One ray will - # start above ralph's head, and the other will start above the camera. - # A ray may hit the terrain, or it may hit a rock or a tree. If it - # hits the terrain, we can detect the height. If it hits anything - # else, we rule that the move is illegal. - self.cTrav = CollisionTraverser() - - self.ralphGroundRay = CollisionRay() - self.ralphGroundRay.setOrigin(0,0,1000) - self.ralphGroundRay.setDirection(0,0,-1) - self.ralphGroundCol = CollisionNode('ralphRay') - self.ralphGroundCol.addSolid(self.ralphGroundRay) - self.ralphGroundCol.setFromCollideMask(BitMask32.bit(0)) - self.ralphGroundCol.setIntoCollideMask(BitMask32.allOff()) - self.ralphGroundColNp = self.ralph.attachNewNode(self.ralphGroundCol) - self.ralphGroundHandler = CollisionHandlerQueue() - self.cTrav.addCollider(self.ralphGroundColNp, self.ralphGroundHandler) - - self.camGroundRay = CollisionRay() - self.camGroundRay.setOrigin(0,0,1000) - self.camGroundRay.setDirection(0,0,-1) - self.camGroundCol = CollisionNode('camRay') - self.camGroundCol.addSolid(self.camGroundRay) - self.camGroundCol.setFromCollideMask(BitMask32.bit(0)) - self.camGroundCol.setIntoCollideMask(BitMask32.allOff()) - self.camGroundColNp = base.camera.attachNewNode(self.camGroundCol) - self.camGroundHandler = CollisionHandlerQueue() - self.cTrav.addCollider(self.camGroundColNp, self.camGroundHandler) - - # Uncomment this line to see the collision rays - #self.ralphGroundColNp.show() - #self.camGroundColNp.show() - - # Uncomment this line to show a visual representation of the - # collisions occuring - #self.cTrav.showCollisions(render) - - # Create some lighting - ambientLight = AmbientLight("ambientLight") - ambientLight.setColor(Vec4(.3, .3, .3, 1)) - directionalLight = DirectionalLight("directionalLight") - directionalLight.setDirection(Vec3(-5, -5, -5)) - directionalLight.setColor(Vec4(1, 1, 1, 1)) - directionalLight.setSpecularColor(Vec4(1, 1, 1, 1)) - render.setLight(render.attachNewNode(ambientLight)) - render.setLight(render.attachNewNode(directionalLight)) - - #Records the state of the arrow keys - def setKey(self, key, value): - self.keyMap[key] = value - - # Adjust movement speed - def adjustSpeed(self, delta): - newSpeed = self.speed + delta - if 0 <= newSpeed <= 3: - self.speed = newSpeed - - # Accepts arrow keys to move either the player or the menu cursor, - # Also deals with grid checking and collision detection - def move(self, task): - - # If the camera-left key is pressed, move camera left. - # If the camera-right key is pressed, move camera right. - - base.camera.lookAt(self.ralph) - if (self.keyMap["cam-left"]!=0): - base.camera.setX(base.camera, +20 * globalClock.getDt()) - if (self.keyMap["cam-right"]!=0): - base.camera.setX(base.camera, -20 * globalClock.getDt()) - - # save ralph's initial position so that we can restore it, - # in case he falls off the map or runs into something. - - startpos = self.ralph.getPos() - - # If a move-key is pressed, move ralph in the specified direction. - - if (self.keyMap["left"]!=0): - self.ralph.setH(self.ralph.getH() + 300 * globalClock.getDt()) - elif (self.keyMap["right"]!=0): - self.ralph.setH(self.ralph.getH() - 300 * globalClock.getDt()) - if (self.keyMap["forward"]!=0): - self.ralph.setY(self.ralph, -25 * self.speed * globalClock.getDt()) - elif (self.keyMap["backward"]!=0): - self.ralph.setY(self.ralph, 25 * self.speed * globalClock.getDt()) - - # If ralph is moving, loop the run animation. - # If he is standing still, stop the animation. - - if (self.keyMap["forward"]!=0) or (self.keyMap["backward"]!=0) or \ - (self.keyMap["left"]!=0) or (self.keyMap["right"]!=0): - if self.isMoving is False: - self.ralph.loop("run") - self.isMoving = True - else: - if self.isMoving: - self.ralph.stop() - self.ralph.pose("walk",5) - self.isMoving = False - - # If the camera is too far from ralph, move it closer. - # If the camera is too close to ralph, move it farther. - - camvec = self.ralph.getPos() - base.camera.getPos() - camvec.setZ(0) - camdist = camvec.length() - camvec.normalize() - if (camdist > 10.0): - base.camera.setPos(base.camera.getPos() + camvec*(camdist-10)) - camdist = 10.0 - if (camdist < 5.0): - base.camera.setPos(base.camera.getPos() - camvec*(5-camdist)) - camdist = 5.0 - - # Now check for collisions. - - self.cTrav.traverse(render) - - # Adjust ralph's Z coordinate. If ralph's ray hit terrain, - # update his Z. If it hit anything else, or didn't hit anything, put - # him back where he was last frame. - - entries = [] - for i in range(self.ralphGroundHandler.getNumEntries()): - entry = self.ralphGroundHandler.getEntry(i) - entries.append(entry) - if (len(entries)>0) and (entries[0].getIntoNode().getName() == "terrain"): - self.ralph.setZ(entries[0].getSurfacePoint(render).getZ()) - else: - self.ralph.setPos(startpos) - - # Keep the camera at one foot above the terrain, - # or two feet above ralph, whichever is greater. - - entries = [] - for i in range(self.camGroundHandler.getNumEntries()): - entry = self.camGroundHandler.getEntry(i) - entries.append(entry) - if (len(entries)>0) and (entries[0].getIntoNode().getName() == "terrain"): - base.camera.setZ(entries[0].getSurfacePoint(render).getZ()+1.0) - if (base.camera.getZ() < self.ralph.getZ() + 2.0): - base.camera.setZ(self.ralph.getZ() + 2.0) - - # The camera should look in ralph's direction, - # but it should also try to stay horizontal, so look at - # a floater which hovers above ralph's head. - - self.floater.setPos(self.ralph.getPos()) - self.floater.setZ(self.ralph.getZ() + 2.0) - base.camera.lookAt(self.floater) - - return task.cont - - -w = World().run() - diff --git a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ground.jpg b/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ground.jpg deleted file mode 100644 index fa8e9af5..00000000 Binary files a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ground.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/hedge.jpg b/RenderPipelineFile/samples/02-Roaming-Ralph/resources/hedge.jpg deleted file mode 100644 index 15408467..00000000 Binary files a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/hedge.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ralph-run.egg.pz b/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ralph-run.egg.pz deleted file mode 100644 index 4dce4115..00000000 Binary files a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ralph-run.egg.pz and /dev/null differ diff --git a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ralph-walk.egg.pz b/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ralph-walk.egg.pz deleted file mode 100644 index 8012c7c2..00000000 Binary files a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ralph-walk.egg.pz and /dev/null differ diff --git a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ralph.egg.pz b/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ralph.egg.pz deleted file mode 100644 index a59183c2..00000000 Binary files a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ralph.egg.pz and /dev/null differ diff --git a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ralph.jpg b/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ralph.jpg deleted file mode 100644 index bc648ced..00000000 Binary files a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/ralph.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/rock03.jpg b/RenderPipelineFile/samples/02-Roaming-Ralph/resources/rock03.jpg deleted file mode 100644 index e4006f02..00000000 Binary files a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/rock03.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/tree.jpg b/RenderPipelineFile/samples/02-Roaming-Ralph/resources/tree.jpg deleted file mode 100644 index 1340ba04..00000000 Binary files a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/tree.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/world.egg.pz b/RenderPipelineFile/samples/02-Roaming-Ralph/resources/world.egg.pz deleted file mode 100644 index a5304ef9..00000000 Binary files a/RenderPipelineFile/samples/02-Roaming-Ralph/resources/world.egg.pz and /dev/null differ diff --git a/RenderPipelineFile/samples/02-Roaming-Ralph/scene-effect.yaml b/RenderPipelineFile/samples/02-Roaming-Ralph/scene-effect.yaml deleted file mode 100644 index 5924529b..00000000 --- a/RenderPipelineFile/samples/02-Roaming-Ralph/scene-effect.yaml +++ /dev/null @@ -1,13 +0,0 @@ - -# Special effect file for rendering the roaming ralph scene, since roaming -# Ralph has no normals or material information - -fragment: - material: - m.shading_model = SHADING_MODEL_DEFAULT; - m.basecolor = texture(p3d_Texture0, texcoord).xyz; - m.roughness = 0.9; - m.specular_ior = 1.51; - m.metallic = 0; - m.normal = vOutput.normal; - m.shading_model_param0 = 0.0; // unused diff --git a/RenderPipelineFile/samples/02-Roaming-Ralph/screenshot.png b/RenderPipelineFile/samples/02-Roaming-Ralph/screenshot.png deleted file mode 100644 index 57f777b5..00000000 Binary files a/RenderPipelineFile/samples/02-Roaming-Ralph/screenshot.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/main.py b/RenderPipelineFile/samples/03-Lights/main.py deleted file mode 100644 index f27adc12..00000000 --- a/RenderPipelineFile/samples/03-Lights/main.py +++ /dev/null @@ -1,147 +0,0 @@ -""" - -Lights sample - -This sample shows how to setup multiple lights and load them from a .bam file. - -""" - -# Disable the "xxx has no yyy member" error, pylint seems to be unable to detect -# the properties of a nodepath -# pylint: disable=no-member - -from __future__ import print_function - -import os -import sys -import math -from random import randint -from panda3d.core import Vec3, load_prc_file_data, Material -from direct.showbase.ShowBase import ShowBase -from direct.interval.IntervalGlobal import Sequence - -# Switch into the current directory -os.chdir(os.path.realpath(os.path.dirname(__file__))) - - -class MainApp(ShowBase): - - def __init__(self): - # Setup window size and title - load_prc_file_data("", """ - win-size 900 600 - window-title Render Pipeline - Lights demo - """) - - # ------ Begin of render pipeline code ------ - - # Insert the pipeline path to the system path, this is required to be - # able to import the pipeline classes - pipeline_path = "../../" - - # Just a special case for my development setup, so I don't accidentally - # commit a wrong path. You can remove this in your own programs. - if not os.path.isfile(os.path.join(pipeline_path, "setup.py")): - pipeline_path = "../../RenderPipeline/" - - sys.path.insert(0, pipeline_path) - - from rpcore import RenderPipeline, SpotLight - self.render_pipeline = RenderPipeline() - self.render_pipeline.create(self) - - # Import the movement controller, this is a convenience class - # to provide an improved camera control compared to Panda3Ds default - # mouse controller. - from rpcore.util.movement_controller import MovementController - - # ------ End of render pipeline code, thats it! ------ - - # Set time of day - self.render_pipeline.daytime_mgr.time = "5:20" - - # Configuration variables - self.half_energy = 5000 - self.lamp_fov = 70 - self.lamp_radius = 10 - - # Load the scene - model = self.loader.load_model("scene/Scene.bam") - model.reparent_to(self.render) - - # Animate balls, this is for testing the motion blur - blend_type = "noBlend" - np = model.find("**/MBRotate") - np.hprInterval(1.5, Vec3(360, 360, 0), Vec3(0, 0, 0), blendType=blend_type).loop() - - np = model.find("**/MBUpDown") - np_pos = np.get_pos() - Vec3(0, 0, 2) - Sequence( - np.posInterval(0.15, np_pos + Vec3(0, 0, 6), np_pos, blendType=blend_type), - np.posInterval(0.15, np_pos, np_pos + Vec3(0, 0, 6), blendType=blend_type)).loop() - - np = model.find("**/MBFrontBack") - np_pos = np.get_pos() - Vec3(0, 0, 2) - Sequence( - np.posInterval(0.15, np_pos + Vec3(0, 6, 0), np_pos, blendType=blend_type), - np.posInterval(0.15, np_pos, np_pos + Vec3(0, 6, 0), blendType=blend_type)).loop() - - np = model.find("**/MBScale") - Sequence( - np.scaleInterval(0.2, Vec3(1.5), Vec3(1), blendType=blend_type), - np.scaleInterval(0.2, Vec3(1), Vec3(1.5), blendType=blend_type)).loop() - - # Generate temperature lamps - # This shows how to procedurally create lamps. In this case, we - # base the lights positions on empties created in blender. - self._lights = [] - light_key = lambda light: int(light.get_name().split("LampLum")[-1]) - lumlamps = sorted(model.find_all_matches("**/LampLum*"), key=light_key) - for lumlamp in lumlamps: - lum = float(lumlamp.get_name()[len("LampLum"):]) - light = SpotLight() - light.direction = (0, -1.5, -1) - light.fov = self.lamp_fov - light.set_color_from_temperature(lum * 1000.0) - light.energy = self.half_energy - light.pos = lumlamp.get_pos(self.render) - light.radius = self.lamp_radius - light.casts_shadows = False - light.shadow_map_resolution = 256 - self.render_pipeline.add_light(light) - - # Put Pandas on the edges - if lumlamp in lumlamps[0:2] + lumlamps[-2:]: - panda = self.loader.load_model("panda") - panda.reparent_to(self.render) - panda_mat = Material("default") - panda_mat.emission = 0 - panda.set_material(panda_mat) - panda.set_pos(light.pos) - panda.set_z(0.65) - panda.set_h(180 + randint(-60, 60)) - panda.set_scale(0.2) - panda.set_y(panda.get_y() - 3.0) - - self._lights.append(light) - - self.render_pipeline.prepare_scene(model) - - # Init movement controller - self.controller = MovementController(self) - self.controller.set_initial_position(Vec3(23.9, 42.5, 13.4), Vec3(23.8, 33.4, 10.8)) - self.controller.setup() - - self.addTask(self.update, "update") - - def update(self, task): - """ Update method """ - frame_time = self.taskMgr.globalClock.get_frame_time() - - # Make the lights glow - for i, light in enumerate(self._lights): - brightness = math.sin(0.4 * i + frame_time) - light.energy = max(0, self.half_energy / 2.0 + brightness * self.half_energy) - return task.cont - -MainApp().run() diff --git a/RenderPipelineFile/samples/03-Lights/scene/Scene.bam b/RenderPipelineFile/samples/03-Lights/scene/Scene.bam deleted file mode 100644 index 1750497f..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/Scene.bam and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/Scene.blend b/RenderPipelineFile/samples/03-Lights/scene/Scene.blend deleted file mode 100644 index 67c96e7b..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/Scene.blend and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/BallDiffuse.png b/RenderPipelineFile/samples/03-Lights/scene/tex/BallDiffuse.png deleted file mode 100644 index 1210474b..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/BallDiffuse.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/BallRoughnesss.png b/RenderPipelineFile/samples/03-Lights/scene/tex/BallRoughnesss.png deleted file mode 100644 index 23ca130f..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/BallRoughnesss.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/BoxDiffuse.png b/RenderPipelineFile/samples/03-Lights/scene/tex/BoxDiffuse.png deleted file mode 100644 index 39962173..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/BoxDiffuse.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/BoxDisplace.png b/RenderPipelineFile/samples/03-Lights/scene/tex/BoxDisplace.png deleted file mode 100644 index 2ad814aa..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/BoxDisplace.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/BoxNormal.png b/RenderPipelineFile/samples/03-Lights/scene/tex/BoxNormal.png deleted file mode 100644 index e00316c4..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/BoxNormal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/BoxSpecular.png b/RenderPipelineFile/samples/03-Lights/scene/tex/BoxSpecular.png deleted file mode 100644 index 6568ccc8..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/BoxSpecular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/BrickDiffuse.png b/RenderPipelineFile/samples/03-Lights/scene/tex/BrickDiffuse.png deleted file mode 100644 index 07ab787c..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/BrickDiffuse.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/BrickNrm.png b/RenderPipelineFile/samples/03-Lights/scene/tex/BrickNrm.png deleted file mode 100644 index 050a3b28..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/BrickNrm.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/BrickSpec.png b/RenderPipelineFile/samples/03-Lights/scene/tex/BrickSpec.png deleted file mode 100644 index bf91d0bf..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/BrickSpec.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/CobaltDiffuse.png b/RenderPipelineFile/samples/03-Lights/scene/tex/CobaltDiffuse.png deleted file mode 100644 index e5853d8f..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/CobaltDiffuse.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/CobaltNormal.png b/RenderPipelineFile/samples/03-Lights/scene/tex/CobaltNormal.png deleted file mode 100644 index 966ff811..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/CobaltNormal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/CobaltSpecular.png b/RenderPipelineFile/samples/03-Lights/scene/tex/CobaltSpecular.png deleted file mode 100644 index 909e6f28..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/CobaltSpecular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/ConcreteDiffuse.png b/RenderPipelineFile/samples/03-Lights/scene/tex/ConcreteDiffuse.png deleted file mode 100644 index 608a5f24..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/ConcreteDiffuse.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/ConcreteDisp.png b/RenderPipelineFile/samples/03-Lights/scene/tex/ConcreteDisp.png deleted file mode 100644 index ef3f4e13..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/ConcreteDisp.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/ConcreteNormal.png b/RenderPipelineFile/samples/03-Lights/scene/tex/ConcreteNormal.png deleted file mode 100644 index 416b9697..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/ConcreteNormal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/ConcreteRoughness.png b/RenderPipelineFile/samples/03-Lights/scene/tex/ConcreteRoughness.png deleted file mode 100644 index 170d8fd1..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/ConcreteRoughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/CopperDiffuse.png b/RenderPipelineFile/samples/03-Lights/scene/tex/CopperDiffuse.png deleted file mode 100644 index 0ebf7fd1..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/CopperDiffuse.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/CopperNormal.png b/RenderPipelineFile/samples/03-Lights/scene/tex/CopperNormal.png deleted file mode 100644 index e32fb325..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/CopperNormal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/CopperSpecular.png b/RenderPipelineFile/samples/03-Lights/scene/tex/CopperSpecular.png deleted file mode 100644 index 98d3558f..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/CopperSpecular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/EmptyBaseColor.png b/RenderPipelineFile/samples/03-Lights/scene/tex/EmptyBaseColor.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/EmptyBaseColor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/EmptyNormal.png b/RenderPipelineFile/samples/03-Lights/scene/tex/EmptyNormal.png deleted file mode 100644 index 863dc2ec..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/EmptyNormal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/EmptyRoughness.png b/RenderPipelineFile/samples/03-Lights/scene/tex/EmptyRoughness.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/EmptyRoughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/EmptySpecular.png b/RenderPipelineFile/samples/03-Lights/scene/tex/EmptySpecular.png deleted file mode 100644 index 26ee2247..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/EmptySpecular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/GridBG.png b/RenderPipelineFile/samples/03-Lights/scene/tex/GridBG.png deleted file mode 100644 index 8dd6369f..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/GridBG.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/MetalDiffuse.png b/RenderPipelineFile/samples/03-Lights/scene/tex/MetalDiffuse.png deleted file mode 100644 index 9ec43978..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/MetalDiffuse.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/MetalNormal.png b/RenderPipelineFile/samples/03-Lights/scene/tex/MetalNormal.png deleted file mode 100644 index a96c3c71..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/MetalNormal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/MetalSpecular.png b/RenderPipelineFile/samples/03-Lights/scene/tex/MetalSpecular.png deleted file mode 100644 index 96f38961..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/MetalSpecular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/Sign_materials.png b/RenderPipelineFile/samples/03-Lights/scene/tex/Sign_materials.png deleted file mode 100644 index 2cba0df2..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/Sign_materials.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/empty_basecolor.png b/RenderPipelineFile/samples/03-Lights/scene/tex/empty_basecolor.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/empty_basecolor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/empty_normal.png b/RenderPipelineFile/samples/03-Lights/scene/tex/empty_normal.png deleted file mode 100644 index 863dc2ec..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/empty_normal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/empty_roughness.png b/RenderPipelineFile/samples/03-Lights/scene/tex/empty_roughness.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/empty_roughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/empty_specular.png b/RenderPipelineFile/samples/03-Lights/scene/tex/empty_specular.png deleted file mode 100644 index 26ee2247..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/empty_specular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/scene/tex/pattern.png b/RenderPipelineFile/samples/03-Lights/scene/tex/pattern.png deleted file mode 100644 index ccfb77a3..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/scene/tex/pattern.png and /dev/null differ diff --git a/RenderPipelineFile/samples/03-Lights/screenshot.png b/RenderPipelineFile/samples/03-Lights/screenshot.png deleted file mode 100644 index 372b7f63..00000000 Binary files a/RenderPipelineFile/samples/03-Lights/screenshot.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/main.py b/RenderPipelineFile/samples/04-Material-Blending/main.py deleted file mode 100644 index a56cf579..00000000 --- a/RenderPipelineFile/samples/04-Material-Blending/main.py +++ /dev/null @@ -1,89 +0,0 @@ -""" - -Material blending sample - -This shows how to use the material blend effect which comes with the pipeline, -and supports blending for up to 4 materials. - -""" - -from __future__ import print_function - -import os -import sys -from panda3d.core import Vec3, load_prc_file_data, TextureAttrib -from direct.showbase.ShowBase import ShowBase - -# Switch into the current directory -os.chdir(os.path.realpath(os.path.dirname(__file__))) - -class Application(ShowBase): - - """ Main Testing Showbase """ - - def __init__(self): - - # Setup window size, title and so on - load_prc_file_data("", """ - win-size 1600 900 - window-title Render Pipeline - Material blending example - """) - - # ------ Begin of render pipeline code ------ - - # Insert the pipeline path to the system path, this is required to be - # able to import the pipeline classes - pipeline_path = "../../" - - # Just a special case for my development setup, so I don't accidentally - # commit a wrong path. You can remove this in your own programs. - if not os.path.isfile(os.path.join(pipeline_path, "setup.py")): - pipeline_path = "../../RenderPipeline/" - - sys.path.insert(0, pipeline_path) - - from rpcore import RenderPipeline, SpotLight - self.render_pipeline = RenderPipeline() - self.render_pipeline.create(self) - - # This is a helper class for better camera movement - its not really - # a rendering element, but it included for convenience - from rpcore.util.movement_controller import MovementController - - # ------ End of render pipeline code, thats it! ------ - - # Set time of day - self.render_pipeline.daytime_mgr.time = "6:43" - - # Load the scene - model = loader.loadModel("scene/Scene.bam") - model.reparent_to(render) - - # Set the material blending effect on the terrain - terrain = model.find("**/Terrain") - self.render_pipeline.set_effect(terrain, "effects/material_blend4.yaml", { - "parallax_mapping": False, # Not supported - "alpha_testing": False, - "normal_mapping": False, # The effect does its own normal mapping - }, 100) - - # Configure the effect - terrain.set_shader_input("detail_scale_factor", 4.0) - - # Detailmap blending factors. - # Blending is calculated as (detailmap + ) ^ - # The base map has no blending since it is used as a filling material - # and blending the base map would cause spots with no material at all. - terrain.set_shader_input("material_0_pow", 10.0) - terrain.set_shader_input("material_0_add", 0.5) - terrain.set_shader_input("material_1_pow", 10.0) - terrain.set_shader_input("material_1_add", 0.5) - terrain.set_shader_input("material_2_pow", 10.0) - terrain.set_shader_input("material_2_add", 0.5) - - # Init movement controller - self.controller = MovementController(self) - self.controller.set_initial_position(Vec3(-15.2, -9.0, 11.8), Vec3(-12.3, -7.0, 9.7)) - self.controller.setup() - -Application().run() diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/Scene.bam b/RenderPipelineFile/samples/04-Material-Blending/scene/Scene.bam deleted file mode 100644 index de4886e6..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/Scene.bam and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/Scene.blend b/RenderPipelineFile/samples/04-Material-Blending/scene/Scene.blend deleted file mode 100644 index 802f3e41..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/Scene.blend and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material1Blendmap.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material1Blendmap.png deleted file mode 100644 index 89563853..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material1Blendmap.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material1Diffuse.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material1Diffuse.png deleted file mode 100644 index 71d24be1..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material1Diffuse.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material1Normal.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material1Normal.png deleted file mode 100644 index a872ba07..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material1Normal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material1Specular.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material1Specular.png deleted file mode 100644 index 22b4f5c4..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material1Specular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material2Blendmap.jpg b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material2Blendmap.jpg deleted file mode 100644 index 0264c105..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material2Blendmap.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material2Diffuse.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material2Diffuse.png deleted file mode 100644 index 1efdc2f1..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material2Diffuse.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material2Normal.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material2Normal.png deleted file mode 100644 index d7dd915d..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material2Normal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material2Specular.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material2Specular.png deleted file mode 100644 index efb05350..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material2Specular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material3Blendmap.jpg b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material3Blendmap.jpg deleted file mode 100644 index 8b3dd94a..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material3Blendmap.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material3Diffuse.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material3Diffuse.png deleted file mode 100644 index 623b178c..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material3Diffuse.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material3Normal.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material3Normal.png deleted file mode 100644 index b873baaf..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material3Normal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material3Specular.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material3Specular.png deleted file mode 100644 index 29484104..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material3Specular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material4Diffuse.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material4Diffuse.png deleted file mode 100644 index 0c63caa5..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material4Diffuse.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material4Normal.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material4Normal.png deleted file mode 100644 index 971be7c4..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material4Normal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material4Specular.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material4Specular.png deleted file mode 100644 index 3501a4f3..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/Material4Specular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/MaterialMap.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/MaterialMap.png deleted file mode 100644 index 59ed9c46..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/MaterialMap.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/empty_basecolor.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/empty_basecolor.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/empty_basecolor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/empty_normal.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/empty_normal.png deleted file mode 100644 index 863dc2ec..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/empty_normal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/empty_roughness.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/empty_roughness.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/empty_roughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/empty_specular.png b/RenderPipelineFile/samples/04-Material-Blending/scene/tex/empty_specular.png deleted file mode 100644 index 26ee2247..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/scene/tex/empty_specular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/04-Material-Blending/screenshot.png b/RenderPipelineFile/samples/04-Material-Blending/screenshot.png deleted file mode 100644 index 19622e5d..00000000 Binary files a/RenderPipelineFile/samples/04-Material-Blending/screenshot.png and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/.gitignore b/RenderPipelineFile/samples/05-Quboid/.gitignore deleted file mode 100644 index 627c8f8b..00000000 --- a/RenderPipelineFile/samples/05-Quboid/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ - -models/Scene.blend -models/surrounding/Scene.blend* - diff --git a/RenderPipelineFile/samples/05-Quboid/Sound-license.txt b/RenderPipelineFile/samples/05-Quboid/Sound-license.txt deleted file mode 100644 index b6f21ab5..00000000 --- a/RenderPipelineFile/samples/05-Quboid/Sound-license.txt +++ /dev/null @@ -1,5 +0,0 @@ -stonrotate.wav by http://www.freesound.org/usersViewSingle.php?id=386635 -rock_Scrape.wav by http://www.freesound.org/usersViewSingle.php?id=634166 -kr2.wav ,kr1.wav ... kr5.wav by http://www.freesound.org/usersViewSingle.php?id=96 -kr6.wav by http://www.freesound.org/usersViewSingle.php?id=288 -ambient_uboot.wav by http://www.freesound.org/usersViewSingle.php?id=22256 diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level1 b/RenderPipelineFile/samples/05-Quboid/levels/level1 deleted file mode 100644 index ec47ef8a..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level1 +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_0 b/RenderPipelineFile/samples/05-Quboid/levels/level_0 deleted file mode 100644 index c44aeebe..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_0 +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_1 b/RenderPipelineFile/samples/05-Quboid/levels/level_1 deleted file mode 100644 index 2b576684..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_1 +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_10 b/RenderPipelineFile/samples/05-Quboid/levels/level_10 deleted file mode 100644 index 3fa38b30..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_10 +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_11 b/RenderPipelineFile/samples/05-Quboid/levels/level_11 deleted file mode 100644 index b41d21de..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_11 +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_12 b/RenderPipelineFile/samples/05-Quboid/levels/level_12 deleted file mode 100644 index 430fbbed..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_12 +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_13 b/RenderPipelineFile/samples/05-Quboid/levels/level_13 deleted file mode 100644 index f6e39ba1..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_13 +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_14 b/RenderPipelineFile/samples/05-Quboid/levels/level_14 deleted file mode 100644 index 69a03ae8..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_14 +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_15 b/RenderPipelineFile/samples/05-Quboid/levels/level_15 deleted file mode 100644 index c15539ad..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_15 +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_16 b/RenderPipelineFile/samples/05-Quboid/levels/level_16 deleted file mode 100644 index bdbf13d7..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_16 +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_17 b/RenderPipelineFile/samples/05-Quboid/levels/level_17 deleted file mode 100644 index d0baaaed..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_17 +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_18 b/RenderPipelineFile/samples/05-Quboid/levels/level_18 deleted file mode 100644 index 4773c3f8..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_18 +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_19 b/RenderPipelineFile/samples/05-Quboid/levels/level_19 deleted file mode 100644 index fc152d23..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_19 +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_2 b/RenderPipelineFile/samples/05-Quboid/levels/level_2 deleted file mode 100644 index 601dee3d..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_2 +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_20 b/RenderPipelineFile/samples/05-Quboid/levels/level_20 deleted file mode 100644 index dbd99f25..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_20 +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_21 b/RenderPipelineFile/samples/05-Quboid/levels/level_21 deleted file mode 100644 index 2020d3f0..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_21 +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_22 b/RenderPipelineFile/samples/05-Quboid/levels/level_22 deleted file mode 100644 index 9e73278a..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_22 +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_23 b/RenderPipelineFile/samples/05-Quboid/levels/level_23 deleted file mode 100644 index 7883283a..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_23 +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_24 b/RenderPipelineFile/samples/05-Quboid/levels/level_24 deleted file mode 100644 index b740dbe6..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_24 +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_25 b/RenderPipelineFile/samples/05-Quboid/levels/level_25 deleted file mode 100644 index a39db75e..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_25 +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_26 b/RenderPipelineFile/samples/05-Quboid/levels/level_26 deleted file mode 100644 index 82f7da48..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_26 +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_27 b/RenderPipelineFile/samples/05-Quboid/levels/level_27 deleted file mode 100644 index 151d4ef5..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_27 +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_28 b/RenderPipelineFile/samples/05-Quboid/levels/level_28 deleted file mode 100644 index ca7b86a1..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_28 +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_29 b/RenderPipelineFile/samples/05-Quboid/levels/level_29 deleted file mode 100644 index a11ad2b7..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_29 +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_3 b/RenderPipelineFile/samples/05-Quboid/levels/level_3 deleted file mode 100644 index 0c8f529a..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_3 +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_30 b/RenderPipelineFile/samples/05-Quboid/levels/level_30 deleted file mode 100644 index fe2cdea6..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_30 +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_31 b/RenderPipelineFile/samples/05-Quboid/levels/level_31 deleted file mode 100644 index dbd99f25..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_31 +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_32 b/RenderPipelineFile/samples/05-Quboid/levels/level_32 deleted file mode 100644 index 8c66f63e..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_32 +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_33 b/RenderPipelineFile/samples/05-Quboid/levels/level_33 deleted file mode 100644 index cca6ecde..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_33 +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_4 b/RenderPipelineFile/samples/05-Quboid/levels/level_4 deleted file mode 100644 index 4ba8eda5..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_4 +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_5 b/RenderPipelineFile/samples/05-Quboid/levels/level_5 deleted file mode 100644 index 1b6cc560..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_5 +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_6 b/RenderPipelineFile/samples/05-Quboid/levels/level_6 deleted file mode 100644 index 74d20922..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_6 +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_7 b/RenderPipelineFile/samples/05-Quboid/levels/level_7 deleted file mode 100644 index 06c25f98..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_7 +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_8 b/RenderPipelineFile/samples/05-Quboid/levels/level_8 deleted file mode 100644 index c92fc564..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_8 +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/level_9 b/RenderPipelineFile/samples/05-Quboid/levels/level_9 deleted file mode 100644 index 96095a49..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/level_9 +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/RenderPipelineFile/samples/05-Quboid/levels/levelconvert.py b/RenderPipelineFile/samples/05-Quboid/levels/levelconvert.py deleted file mode 100644 index b7761d81..00000000 --- a/RenderPipelineFile/samples/05-Quboid/levels/levelconvert.py +++ /dev/null @@ -1,51 +0,0 @@ -from sys import argv -if len(argv) >1: - level = int(argv[1]) - -data=open("./level_"+str(level)) -inputData = data.read().replace("\n","").strip().replace(" ","").lstrip("<").rstrip(">").split("><") -data.close() -output = open("./level_"+str(level),"w" ) - -xmin=1000 -ymin=1000 -for tileData in inputData: - data = tileData.split(",") - for i in data: - if i.startswith("Pos="): - i = i.split("=")[1].split("_") - x,y=int(i[0]), int(i[1]) - if x < xmin: - xmin = x - if y < ymin: - ymin = y - - -lastx = 0 -for tileData in inputData: - - data = tileData.split(",") - output.write("<"+data[0]+",") - data = data[1].split("=")[1].split("_") - output.write("Pos="+str( int(data[0])-xmin ) +"_" +str( int(data[1])-ymin )+">") - print int(data[0])-xmin , lastx - if int(data[0])-xmin > lastx: - print "inserting newline" - lastx=int(data[0])-xmin - output.write("\n") - -""" -#print data -for x in range(0,len(data)): - for y in range(0,len(data[x])): - if data[x][y] == "0": - continue - elif data[x][y] == "1": - output.write("") - elif data[x][y] == "2": - output.write("") - elif data[x][y] == "3": - output.write("") - output.write("\n") -""" -output.close() diff --git a/RenderPipelineFile/samples/05-Quboid/main.py b/RenderPipelineFile/samples/05-Quboid/main.py deleted file mode 100644 index 46634bc5..00000000 --- a/RenderPipelineFile/samples/05-Quboid/main.py +++ /dev/null @@ -1,20 +0,0 @@ - - -# This is just the launcher, have a look at src/GameControl.py - -import os -import sys - -print("This sample is currently broken! Please wait until it is fixed. You can " - "run it on your own risk by commenting line 10 in this file.") -# sys.exit(0) - -# Change to the current directory -os.chdir(os.path.join(os.path.dirname(os.path.realpath(__file__)))) - -# Append the current directory to the path -sys.path.insert(0, os.getcwd()) - -from src.GameControl import GameControl -game = GameControl() -game.run() diff --git a/RenderPipelineFile/samples/05-Quboid/res/Roboto-Light.ttf b/RenderPipelineFile/samples/05-Quboid/res/Roboto-Light.ttf deleted file mode 100644 index 664e1b2f..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/res/Roboto-Light.ttf and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/res/icon.ico b/RenderPipelineFile/samples/05-Quboid/res/icon.ico deleted file mode 100644 index 13312843..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/res/icon.ico and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/res/icon.png b/RenderPipelineFile/samples/05-Quboid/res/icon.png deleted file mode 100644 index a9164794..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/res/icon.png and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/res/menu.png b/RenderPipelineFile/samples/05-Quboid/res/menu.png deleted file mode 100644 index f9def276..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/res/menu.png and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/res/select.png b/RenderPipelineFile/samples/05-Quboid/res/select.png deleted file mode 100644 index 53682e51..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/res/select.png and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/res/start_game.png b/RenderPipelineFile/samples/05-Quboid/res/start_game.png deleted file mode 100644 index 5598ea79..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/res/start_game.png and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/drop1.wav b/RenderPipelineFile/samples/05-Quboid/sounds/drop1.wav deleted file mode 100644 index 98366be4..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/drop1.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/drop2.wav b/RenderPipelineFile/samples/05-Quboid/sounds/drop2.wav deleted file mode 100644 index 8c2d053a..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/drop2.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/drop3.wav b/RenderPipelineFile/samples/05-Quboid/sounds/drop3.wav deleted file mode 100644 index 3bf8f36d..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/drop3.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/drop4.wav b/RenderPipelineFile/samples/05-Quboid/sounds/drop4.wav deleted file mode 100644 index 84b11a40..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/drop4.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/finish.wav b/RenderPipelineFile/samples/05-Quboid/sounds/finish.wav deleted file mode 100644 index 7fde8297..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/finish.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/kr1.wav b/RenderPipelineFile/samples/05-Quboid/sounds/kr1.wav deleted file mode 100644 index 4d4321f9..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/kr1.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/kr2.wav b/RenderPipelineFile/samples/05-Quboid/sounds/kr2.wav deleted file mode 100644 index 4e3e3fec..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/kr2.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/kr3.wav b/RenderPipelineFile/samples/05-Quboid/sounds/kr3.wav deleted file mode 100644 index 88e3a2b1..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/kr3.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/kr4.wav b/RenderPipelineFile/samples/05-Quboid/sounds/kr4.wav deleted file mode 100644 index d60e2a87..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/kr4.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/kr5.wav b/RenderPipelineFile/samples/05-Quboid/sounds/kr5.wav deleted file mode 100644 index 0e718577..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/kr5.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/kr6.wav b/RenderPipelineFile/samples/05-Quboid/sounds/kr6.wav deleted file mode 100644 index bc4ecd39..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/kr6.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/nyon.wav b/RenderPipelineFile/samples/05-Quboid/sounds/nyon.wav deleted file mode 100644 index 289ad84d..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/nyon.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/rock_Scrape.wav b/RenderPipelineFile/samples/05-Quboid/sounds/rock_Scrape.wav deleted file mode 100644 index d11fd8bd..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/rock_Scrape.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/sounds/stonerotate.wav b/RenderPipelineFile/samples/05-Quboid/sounds/stonerotate.wav deleted file mode 100644 index 8662f250..00000000 Binary files a/RenderPipelineFile/samples/05-Quboid/sounds/stonerotate.wav and /dev/null differ diff --git a/RenderPipelineFile/samples/05-Quboid/src/CamControl.py b/RenderPipelineFile/samples/05-Quboid/src/CamControl.py deleted file mode 100644 index dee8c7f7..00000000 --- a/RenderPipelineFile/samples/05-Quboid/src/CamControl.py +++ /dev/null @@ -1,36 +0,0 @@ - -from direct.task.Task import Task -from direct.interval.LerpInterval import LerpFunc - -class CamControl: - """ - All it does is taking the cubeclass-instance as input. And the camera will - haunt the cube till all eternitiy. - """ - def __init__(self,cube): - base.disableMouse() - self.cube=cube - self.ZOOMLEVEL = .37 - base.camera.setX(25*self.ZOOMLEVEL) - base.camera.setY(5*self.ZOOMLEVEL) - taskMgr.add(self.cameraMovement,"CameraTask") - - def setZoom(self,zoomlevel): - self.ZOOMLEVEL = zoomlevel - - def zoomIn(self): - i = LerpFunc(self.setZoom, fromData = self.ZOOMLEVEL, toData = self.ZOOMLEVEL*0.7, duration = 1.0,blendType = "easeInOut") - i.start() - - def zoomOut(self): - i = LerpFunc(self.setZoom, fromData = self.ZOOMLEVEL, toData = self.ZOOMLEVEL*1.3, duration = 1.0,blendType = "easeInOut") - i.start() - - def cameraMovement(self,task): - x,y,z = self.cube.getCube().getPos(render) - #smoothly follow the cube... - base.camera.setX( base.camera.getX() - ((base.camera.getX()-x-18*self.ZOOMLEVEL)*.5*globalClock.getDt() ) ) - base.camera.setY( base.camera.getY() - ((base.camera.getY()-y+5*self.ZOOMLEVEL )*.5*globalClock.getDt() ) ) - base.camera.setZ(15*self.ZOOMLEVEL) - base.camera.setHpr(75,-37,0) - return Task.cont diff --git a/RenderPipelineFile/samples/05-Quboid/src/CheckMove.py b/RenderPipelineFile/samples/05-Quboid/src/CheckMove.py deleted file mode 100644 index 32810540..00000000 --- a/RenderPipelineFile/samples/05-Quboid/src/CheckMove.py +++ /dev/null @@ -1,53 +0,0 @@ - -from random import randint - -def checkMove(level, pos , sounds = None): - """ - the game rules for valid movements are implemented here, - return value of 0 means, everything is fine, 1 means loosing for some ridiculus reason, - a return value of 2 means, level won. - as you can imagine. there is a lot more space for new and whicked ways to loose. - """ - x1,y1,x2,y2 = pos - - tile1 = level.find("=Pos="+str(x1)+"_"+str(y1)) - tile2 = None - if x2 != None : - tile2 = level.find("=Pos="+str(x2)+"_"+str(y2)) - #print pos - if sounds != None: - soundChecks(tile1,tile2,sounds) - """ - if tile1.getTag("Type") == "weaktile": - if sounds != None: - sounds.playSound("kr"+str(randint(0,1))+".wav") - "print crackling sound" - """ - - if tile1.isEmpty() == True: - print("you lost!") - return 1 - - if x2 != None and tile2.isEmpty() == True : #means. if there is supposed to be a tile under the cube but there is none.. - print("you lost!..once more") - return 1 - - if tile1.getTag("Type") == "weaktile" and tile2 == None : - print("loosing due to broken weaktile") - return 1 - - if tile1.getTag("Type") == "goal" and x2 == None: - print("you won, switching to next level!") - return 2 - - else: - return 0 - -def soundChecks(tile1,tile2,sounds): - #check for crackling sound - if tile1.isEmpty() == False: - if tile2 != None: - if tile2.isEmpty()==False: - if tile1.getTag("Type") == "weaktile" or tile2.getTag("Type") == "weaktile" : - sounds.playSound("kr"+str(randint(0,1)+1)+".wav") - diff --git a/RenderPipelineFile/samples/05-Quboid/src/Cube.py b/RenderPipelineFile/samples/05-Quboid/src/Cube.py deleted file mode 100644 index 3d372f9c..00000000 --- a/RenderPipelineFile/samples/05-Quboid/src/Cube.py +++ /dev/null @@ -1,378 +0,0 @@ - -from direct.interval.LerpInterval import LerpPosInterval, LerpHprInterval, LerpScaleInterval -from direct.interval.LerpInterval import LerpPosHprInterval,LerpColorScaleInterval, LerpFunc -from direct.interval.MetaInterval import Sequence,Parallel -from direct.interval.FunctionInterval import Func,Wait - -from direct.task.Task import Task -from panda3d.core import Vec3 - -from functools import partial -from random import random -from .CheckMove import * -from .Sound import * - -class Cube: - def __init__(self,level): - self.level = level - self.sounds = Sounds() - self.cube = loader.loadModel("./models/Cuboid.bam") - self.cube.setPythonTag("TilePos", [0,0,None,None] ) #tells us which 2 tiles the block is one, x1,y1,x2,y2. - #x2 and y2 are NONE if it's standing upright - self.cube.setPythonTag("Animated", False) # i so dont want to pass around global parameters - self.cube.reparentTo(render) - - self.moves = 0 - self.falls = 0 - self.shard_node = render.attach_new_node("shards") - - def resetStats(self): - self.moves = 0 - self.falls = 0 - - def enableGameControl(self): - """ - assigns the keyboard-events to the block's movement - """ - base.accept("arrow_up", self.rotateCube, [ "up" ]) - base.accept("arrow_down", self.rotateCube, [ "down" ]) - base.accept("arrow_left", self.rotateCube, [ "left" ]) - base.accept("arrow_right", self.rotateCube, [ "right" ]) - - def disableGameControl(self): - """ - clears the keyboard-events so the keys can be used to navigate the menu or other stuff. - """ - base.ignore("arrow_up") - base.ignore("arrow_down") - base.ignore("arrow_left") - base.ignore("arrow_right") - - def setPos(self, x1,y1=None ): - """ - sets the block to the position you desire. - you can either throw in 2 integers which make the tile positions. or you pass a tuple/list with at least 2 items. - in both cases the it is x y coordinates. the block will be roated into a standing position if it isn't already. - """ - if type(x1) == list or type(x1) == tuple: - y1=x1[1] - x1=x1[0] - if self.getCubeTiles()[3]: - self.cube.setHpr(render,0,0,0) - - self.cube.setPos(render,x1,y1,1) - self.setCubeTiles(x1,y1) - - def getCube(self): - """ - returns the cube's node path. - """ - return self.cube - - def getCubeTiles(self): - """ - internal convenience functions. returns a list with [x1,y1,x2,y2] - """ - return self.cube.getPythonTag("TilePos") - - def setCubeTiles(self,x1,y1,x2=None,y2=None): - """ - internal convenience-function which sets the tile coordinates for the tiles the block is on. inputs are x1,y1,x2,y2 . x2 and y2 are optional. - """ - self.cube.setPythonTag("TilePos", [x1,y1,x2,y2] ) - - def isAnimated(self): - """ - returns True if the block is currently playing an animation.. DONT TOUCH IT while it is animated or it will turn into evil-rotation cube. - """ - return self.cube.getPythonTag("Animated") - - def setAnimated(self,param): - """ - internal function: sets and clears the "isAnimated" tag - """ - self.cube.setPythonTag("Animated", param) - - def fadeInCube(self,duration = 2.5): - """ - helper function. simply moves the block from above onto the map. using the duration specified as parameter. - if no parameter is supplied, it will assume the default-time of 1.2 seconds or so. - """ - self.setAnimated(True) - x1,y1,x2,y2 = self.cube.getPythonTag("TilePos") - #animate the cube, once finished clear the animation tag - self.cube.setZ(render,15) - self.cube.wrtReparentTo(render) - - print("Starting fade in sequence") - Sequence( LerpPosInterval(self.cube, duration ,(x1, y1,1), blendType="easeOut" ) , - Func(self.setAnimated,False), - Func(lambda:self.level.stopAnimatedTile(x1,y1) ) ).start() - - def animate(self,myInterval): - """ - internal function which accepts an interval as input, plays it. and automatically resets the "animated" tag once it finished. - you have to check yourself if the tag is set before playing the animation. use isAnimated() for that. - """ - #print "animating cube" - seq = Sequence( myInterval , Func(self.setAnimated,False) ) - #seq.start() - return seq - - def resetCube(self,task=None): - """ - resets the cube to the statring position, including the fly-in-from-above animation. - """ - print("Resetting cube") - x,y,z = self.level.getPosFromTile(self.level.getStartTile()) - self.setPos(x,y) - self.cube.setHpr(render,0,0,0) - #self.level.stopAnimatedTile(x,y ) - print("Fading in cube") - self.fadeInCube() - - def levelUp(self, task=None): - """ - calls the levelClass to load the next level and resets the cube. - """ - if self.level.loadLevel() == 0: #if level loaded successfully... - self.resetCube() - - self.level.main.gui.set_stage(self.level.LevelNr + 1) - - def rotateCube(self,direction): - """ - rotates the cube according to the direction passed as first argument. accepted values are "up" "down" "left" "right" - """ - #first check if we are allowed to move the block at all.. - if self.isAnimated() : - print("canceling rotation of cube") - return - - #cleaning up from last rotation (we cant clean those up at the end of this function cause the interval needs the dummynode for rotation) - self.cube.wrtReparentTo(render) - try: - dummy.remove_node() - except: - pass - - self.setAnimated(True) - duration = 0.2 - x1,y1,x2,y2 = self.getCubeTiles() - - self.level.animateTile(x1,y1) - self.level.animateTile(x2,y2) - - dummy = render.attachNewNode("dummy") - dummy.reparentTo(self.cube) - dummy.setZ(render,0) - dummy.wrtReparentTo(render) - dummy.setHpr(0,0,0) - dest_hpr = Vec3(0) - - if self.cube.getZ(render) > .7: - #case1 : cube is standing upright - #ok... since we rotate relative there are rounding errors... since there !might! be some uebernoob playing the game - #needing one gazillion rotations to reach the goal it might happen those rounding errors actually get visible - #so let him enjoy and reset the cube every-time it's standing straight-up. - - self.cube.setZ(render,1) #how comes this is one?.. well.. i know.. because of my learnings.. - self.cube.setX(render, round(self.cube.getX(render),0) ) - self.cube.setY(render, round(self.cube.getY(render),0) ) - self.cube.setH(render, round(self.cube.getH(render),0) ) - self.cube.setP(render, round(self.cube.getP(render),0) ) - self.cube.setR(render, round(self.cube.getR(render),0) ) - - - if direction == "right": - dummy.setY(dummy,.5) - self.cube.wrtReparentTo(dummy) - dest_hpr = Vec3(0, -90, 0) - self.setCubeTiles( x1, y1+1 ,x1 , y1+2 ) - - if direction == "left": - dummy.setY(dummy,-.5) - self.cube.wrtReparentTo(dummy) - dest_hpr = Vec3(0, 90, 0) - self.setCubeTiles( x1, y1-2 ,x1 , y1-1 ) - - if direction == "up": - dummy.setX(dummy,-.5) - self.cube.wrtReparentTo(dummy) - dest_hpr = Vec3(0, 0, -90) - self.setCubeTiles( x1-2, y1 ,x1-1 , y1 ) - - if direction == "down": - dummy.setX(dummy,.5) - self.cube.wrtReparentTo(dummy) - dest_hpr = Vec3(0, 0, 90) - self.setCubeTiles( x1+1, y1 ,x1+2 , y1 ) - - elif x1 == x2 : #if aligned to y-axis - if direction == "right": - dummy.setY(dummy,1) - self.cube.wrtReparentTo(dummy) - dest_hpr = Vec3(0, -90, 0) - self.setCubeTiles( x1, y1+2 ) - - if direction == "left": - dummy.setY(dummy,-1) - self.cube.wrtReparentTo(dummy) - dest_hpr = Vec3(0, 90, 0) - self.setCubeTiles( x1, y1-1) - - if direction == "up": - dummy.setX(dummy,-.5) - self.cube.wrtReparentTo(dummy) - dest_hpr = Vec3(0, 0, -90) - self.setCubeTiles( x1-1, y1, x2-1, y2 ) - - if direction == "down": - dummy.setX(dummy,.5) - self.cube.wrtReparentTo(dummy) - dest_hpr = Vec3(0, 0, 90) - self.setCubeTiles( x1+1, y1, x2+1, y2 ) - - - elif y1==y2 : #if it is alligned to x-axis.. - - if direction == "right": - dummy.setY(dummy,.5) - self.cube.wrtReparentTo(dummy) - dest_hpr = Vec3(0, -90, 0) - self.setCubeTiles( x1, y1+1, x2, y2+1 ) - - if direction == "left": - dummy.setY(dummy,-.5) - self.cube.wrtReparentTo(dummy) - dest_hpr = Vec3(0, 90, 0) - self.setCubeTiles( x1, y1-1, x2, y2-1 ) - - if direction == "up": - dummy.setX(dummy,-1) - self.cube.wrtReparentTo(dummy) - dest_hpr = Vec3(0, 0, -90) - self.setCubeTiles( x1-1, y1 ) - - if direction == "down": - dummy.setX(dummy,1) - self.cube.wrtReparentTo(dummy) - dest_hpr = Vec3(0, 0, 90) - self.setCubeTiles( x1+2, y1 ) - - else: - print("Invalid move. Waiting ..") - - - print("Rotating!") - anim = self.animate( LerpHprInterval(dummy, duration, dest_hpr,(0,0,0) ) ) - - - #this sorta.. doesnt belong here.. but i dunno where to put it yet. - x1,y1,x2,y2 = self.getCubeTiles() - # self.level.tintTile(x1,y1) #this is fun to play with if your cube is invisible... - # self.level.tintTile(x2,y2) - self.level.stopAnimatedTile(x1,y1) #stops the tile-animation for the tiles below the block - self.level.stopAnimatedTile(x2,y2) - - #cheking what consequences your move had... muhahaa... if you get a 1 .. i've got bad news for you - checkresult = checkMove(self.level.levelNode,self.getCubeTiles(),self.sounds) - if checkresult == 1: - self.falls +=1 - self.moves +=1 - - # Force to the corner when the cuboid falls down - side_force = 1.7 - - force = Vec3(0, 0, 0) - if direction == "up": - force = Vec3(-side_force, 0, 0) - elif direction == "down": - force = Vec3(side_force, 0, 0) - elif direction == "left": - force = Vec3(0, -side_force, 0) - elif direction == "right": - force = Vec3(0, side_force, 0) - - dummy.set_hpr(render, Vec3(0, 0, 0)) - - del anim - - self.setAnimated(True) - final_hpr = dest_hpr * 3.0 + Vec3(random(), random(), random()) * 360.0 * 0.0 - anim = LerpFunc(self.animateCube, fromData=0, toData=1, duration=1.3, blendType='noBlend', extraArgs=[dummy.get_pos(render), Vec3(0), final_hpr, dummy, force]) - taskMgr.doMethodLater( anim.getDuration(), self.resetCube , "resetTask") - - elif checkresult == 2: - - #ok.. once reached the goal, move the block down, fading it out. thenload the new level etc. - anim.pop() - anim.append( Func(lambda: self.level.fadeOutLevel() ) ) - - Sequence(Wait(0.3), Func(lambda *args: self.cube.hide())).start() - - taskMgr.doMethodLater( anim.getDuration()+2 , self.levelUp , "lvlup") - taskMgr.doMethodLater( anim.getDuration()+2 , lambda *args: self.cube.show(), "show cube") - taskMgr.doMethodLater( anim.getDuration()+2 , lambda *args: self.shard_node.node().remove_all_children(), "clear shards") - - Sequence(Wait(0.2), Func(lambda *args: self.sounds.playSound("finish.wav"))).start() - - self.moves = 0 - self.falls = 0 - - cube_min, cube_max = Vec3(-0.5, -0.5, -1), Vec3(0.5, 0.5, 1) - self.shard_node.set_pos(dummy.get_pos(render) + Vec3(-0.5, 0, 0)) - shard_size = (cube_max - cube_min) / 5.0 - - self.shard_node.hide() - Sequence(Wait(0.22), Func(lambda *args: self.shard_node.show())).start() - - for i in range(5): - for j in range(5): - for k in range(5): - shard = loader.loadModel("models/CubeShard.bam") - shard.reparent_to(self.shard_node) - shard.set_x(i * shard_size.x + 0.1) - shard.set_y(j * shard_size.y + 0.1) - shard.set_z(k * shard_size.z + 0.2) - shard.set_scale(0.8 + random()) - - force = Vec3(i-2 - 0.15, j-2 - 0.15, k-2 + 2.6) - force.normalize() - force *= 12.0 * (1 + random() * 0.5) - - d_hpr = Vec3(random(), random(), random()) * 360.0 * (3.0 + random()) - - shard_anim = Sequence( - Wait(0.22), - LerpFunc(self.animateShard, fromData=0, toData=2, duration=2.0, blendType='noBlend', extraArgs=[shard.get_pos(), d_hpr, shard, force]), - LerpHprInterval(shard, 1.0 + random(), d_hpr * 1.6, d_hpr, blendType='noBlend'), - ) - shard_anim.start() - - elif checkresult == 0: - #how lame... just a ..move.. - print("playing sound") - self.moves += 1 - self.sounds.playSound("stonerotate.wav") - print("moves:",self.moves ," falls:",self.falls) - #last but not least.. we start the animation .. did you know that the pc knows you'r failing before you actually do? .. scary.. - anim.start() - - def animateShard(self, t, initial_pos, dest_hpr, shard, force): - - z_force = -(t**2) * 9.81 * 1.7 - regular_force = force * t - - dest_pos = initial_pos + regular_force + Vec3(0, 0, z_force) - - shard.set_pos(dest_pos) - shard.set_hpr(dest_hpr * t) - - def animateCube(self, t, initial_pos, initial_hpr, dest_hpr, cube, force): - z_force = -(t**2) * 9.81 * 1.7 - regular_force = force * t - dest_pos = initial_pos + regular_force + Vec3(0, 0, z_force) - cube.set_pos(render, dest_pos) - cube.set_hpr(render, initial_hpr * (1 - t) + dest_hpr * t) - # cube.set_hpr(render, initial_hpr) diff --git a/RenderPipelineFile/samples/05-Quboid/src/GUI.py b/RenderPipelineFile/samples/05-Quboid/src/GUI.py deleted file mode 100644 index c56fe2c3..00000000 --- a/RenderPipelineFile/samples/05-Quboid/src/GUI.py +++ /dev/null @@ -1,60 +0,0 @@ - - -from panda3d.core import TextNode, Vec4 -from direct.interval.LerpInterval import LerpColorScaleInterval -from direct.interval.MetaInterval import Sequence,Parallel -from direct.interval.FunctionInterval import Func,Wait - -class GUI(object): - - """ Handles the gui elements like showing the current stage """ - - def __init__(self, control): - - self.control = control - self.gui_node = pixel2d.attach_new_node("GUI") - self.gui_node.hide() - self.gui_node.set_transparency(True) - - roboto_light = loader.loadFont("res/Roboto-Light.ttf") - roboto_light.set_scale_factor(1) - roboto_light.set_pixels_per_unit(120) - - self.text_stage = TextNode("TextStage") - self.text_stage.set_text("Stage 1") - self.text_stage.set_align(TextNode.A_left) - self.text_stage.set_text_color(1, 1, 1, 1) - self.text_stage.set_font(roboto_light) - self.text_stage_np = self.gui_node.attach_new_node(self.text_stage) - self.text_stage_np.set_scale(80.0) - self.text_stage_np.set_pos(60, 0, -120) - - self.anim = None - - def show(self): - self.gui_node.show() - if self.anim is not None: - self.anim.finish() - self.anim = Sequence( - LerpColorScaleInterval(self.gui_node, 0.2, Vec4(1), Vec4(1, 1, 1, 0), blendType="easeInOut") - ) - self.anim.start() - - def hide(self): - self.gui_node.hide() - if self.anim is not None: - self.anim.finish() - self.anim = Sequence( - LerpColorScaleInterval(self.gui_node, 0.2, Vec4(1, 1, 1, 0), Vec4(1), blendType="easeInOut") - ) - self.anim.start() - - - def set_stage(self, stage_nr): - print(("Setting stage", stage_nr)) - - Sequence( - LerpColorScaleInterval(self.text_stage_np, 0.4, Vec4(1, 1, 1, 0), Vec4(1), blendType="easeInOut"), - Func(lambda *args: self.text_stage.set_text("Stage " + str(stage_nr))), - LerpColorScaleInterval(self.text_stage_np, 0.4, Vec4(1), Vec4(1, 1, 1, 0), blendType="easeInOut"), - ).start() diff --git a/RenderPipelineFile/samples/05-Quboid/src/GameControl.py b/RenderPipelineFile/samples/05-Quboid/src/GameControl.py deleted file mode 100644 index bb26b82c..00000000 --- a/RenderPipelineFile/samples/05-Quboid/src/GameControl.py +++ /dev/null @@ -1,100 +0,0 @@ - -import os -import sys - - -from direct.showbase.ShowBase import ShowBase -from panda3d.core import load_prc_file_data - -from .Cube import Cube -from .Menu import Menu -from .LevelLoader import Level -from .CamControl import CamControl -from .GUI import GUI - -class GameControl(ShowBase): - """ - controlling the game itself, menu, editors level selection... it's sorta a fake-fsm. - did i mention i dont like fsm's and prefer totaly whicked logic instead? - """ - def __init__(self): - - load_prc_file_data("", "textures-power-2 none") - load_prc_file_data("", "win-size 1600 900") - # load_prc_file_data("", "fullscreen #t") - load_prc_file_data("", "window-title cuboid") - load_prc_file_data("", "icon-filename res/icon.ico") - - # I found openal works better for me - load_prc_file_data("", "audio-library-name p3openal_audio") - - # ------ Begin of render pipeline code ------ - - # Insert the pipeline path to the system path, this is required to be - # able to import the pipeline classes - pipeline_path = "../../" - - # Just a special case for my development setup, so I don't accidentally - # commit a wrong path. You can remove this in your own programs. - if not os.path.isfile(os.path.join(pipeline_path, "setup.py")): - pipeline_path = "../../RenderPipeline/" - - sys.path.insert(0, pipeline_path) - - # Use the utility script to import the render pipeline classes - from rpcore import RenderPipeline - - self.render_pipeline = RenderPipeline() - # self.render_pipeline.mount_mgr.mount() - # self.render_pipeline.load_settings("/$$rpconfig/pipeline.yaml") - # self.render_pipeline.settings["pipeline.display_debugger"] = False - # self.render_pipeline.set_empty_loading_screen() - self.render_pipeline.create(self) - - # [Optional] use the default skybox, you can use your own skybox as well - # self.render_pipeline.create_default_skybox() - - # ------ End of render pipeline code, thats it! ------ - - - # Set time of day - self.render_pipeline.daytime_mgr.time = 0.812 - - self.menu = Menu(self) - self.level = Level(self) - self.cube = Cube(self.level) - self.camControl = CamControl(self.cube) - self.gui = GUI(self) - self.menu.showMenu() - base.accept("i",self.camControl.zoomIn) - base.accept("o",self.camControl.zoomOut) - - def startGame(self,level=0): - #debug purpose only: to directly play a certian lvl number - from sys import argv - if len(argv) >1: - level = int(argv[1]) - - self.menu.hideMenu() - self.level.loadLevel(level) - self.cube.resetCube() - self.cube.resetStats() - self.cube.enableGameControl() - base.accept("escape", self.pauseGame) - - def pauseGame(self): - self.cube.disableGameControl() - self.menu.showMenu() - self.menu.showResume() - #base.accept("escape", self.resumeGame ) - - def resumeGame(self): - self.menu.hideMenu() - self.menu.hideResume() - self.cube.enableGameControl() - base.accept("escape", self.pauseGame) - - def levelEnd(self): - self.cube.disableGameControl() - self.menu.showMenu() - diff --git a/RenderPipelineFile/samples/05-Quboid/src/LevelGenerator.py b/RenderPipelineFile/samples/05-Quboid/src/LevelGenerator.py deleted file mode 100644 index 511e9535..00000000 --- a/RenderPipelineFile/samples/05-Quboid/src/LevelGenerator.py +++ /dev/null @@ -1,117 +0,0 @@ -from random import randint - -class LevelGenerator: - """ - this class produces a new map . i admit. it's logic is quite twisted but it's neccessary or the levels would be as simple as the logic you used. - and we dont want the players to suffer death from boredom. doctors dont recommend it. - """ - def __init__(self): - self.tilemap ={} - self.cubeTiles=[0,0,None,None] - self.movementHistory=["0_0_None_None"] - - def generateLevel(self,effektiveMoves = 20): - self.movementHistory=["0_0_None_None"] - self.cubeTiles=[0,0,None,None] - count = 0 - failcount = 0 - directions = ["up","down","left" , "right" ] - while ( len( self.movementHistory ) < effektiveMoves ): - print("step1:",self.movementHistory) - self.fakeMove( directions[randint(0,3)] ) - print("step2:",self.movementHistory) - indexnumber = self.movementHistory.index(self.movementHistory[-1]) - print("index:", indexnumber) - while len(self.movementHistory) > indexnumber+1: - print(self.movementHistory.pop()) - - while (not "None" in self.movementHistory[-1]): - self.movementHistory.pop() - - print(len(self.movementHistory),self.movementHistory[-1]) - return self.createLevelFromHistory(self.movementHistory) - - - def createLevelFromHistory(self,history): - tiles = [] - for number in range(0,len(history) ): - tilestring = history[number].split("_") - strpos1 = "Pos="+tilestring[0]+"_"+tilestring[1] - if strpos1 not in tiles: - tiles.append(strpos1) - if tilestring[2] != "None": - strpos2 = "Pos="+tilestring[2]+"_"+tilestring[3] - if strpos2 not in tiles: - tiles.append(strpos2) - myMapString = "" - for number in range(1,len(tiles)-1 ): - myMapString += "" - myMapString += "" - return myMapString - - def getCubeTiles(self): - tiles = self.movementHistory[-1].split("_") - if tiles[2] == "None": - self.cubeTiles = [int(tiles[0]),int(tiles[1]),None,None] - else: - self.cubeTiles = [int(tiles[0]),int(tiles[1]),int(tiles[2]),int(tiles[3])] - return self.cubeTiles - - - def setCubeTiles(self,x1,y1,x2=None,y2=None): - newPositionString = str(x1)+"_"+str(y1)+"_"+str(x2)+"_"+str(y2) # looks like 12_5_None_None - self.cubeTiles= [x1,y1,x2,y2] - self.movementHistory.append(newPositionString) - print("new move was successful", self.cubeTiles) - - - def fakeMoveTest(self, x1,y1,x2=None,y2=None ): - for i in ["up","down","left","right"]: - if self.fakeMoveTestCases(i,x1,y1,x2,y2) == 1: - return 1 - return 0 - - - def fakeMove(self,direction): - """ - fakes the rotation of the cube. - """ - x1,y1,x2,y2 = self.getCubeTiles() - print("current position", x1,y1,x2,y2) - if self.cubeTiles[2] == None : - #case1 : cube is standing upright - - if direction == "right": - self.setCubeTiles( x1, y1+1 ,x1 , y1+2 ) - if direction == "left": - self.setCubeTiles( x1, y1-2 ,x1 , y1-1 ) - if direction == "up": - self.setCubeTiles( x1-2, y1 ,x1-1 , y1 ) - if direction == "down": - self.setCubeTiles( x1+1, y1 ,x1+2 , y1 ) - - elif x1 == x2: #if aligned to y-axis (heck i know but precision issues... you know?) - if direction == "right": - self.setCubeTiles( x1, y1+2 ) - if direction == "left": - self.setCubeTiles( x1, y1-1) - if direction == "up": - self.setCubeTiles( x1-1, y1, x2-1, y2 ) - if direction == "down": - self.setCubeTiles( x1+1, y1, x2+1, y2 ) - - - elif y1 == y2 : #if it is alligned to x-axis.. (math sux i know but we need tollerance) - if direction == "right": - self.setCubeTiles( x1, y1+1, x2, y2+1 ) - if direction == "left": - self.setCubeTiles( x1, y1-1, x2, y2-1 ) - if direction == "up": - self.setCubeTiles( x1-1, y1 ) - if direction == "down": - self.setCubeTiles( x1+2, y1 ) - - #this sorta.. doesnt belong here.. but i dunno where to put it yet. - #x1,y1,x2,y2 = self.getCubeTiles() - #checkresult = checkMove(self.level.levelNode,self.getCubeTiles(),self.sounds) - diff --git a/RenderPipelineFile/samples/05-Quboid/src/LevelLoader.py b/RenderPipelineFile/samples/05-Quboid/src/LevelLoader.py deleted file mode 100644 index 2006757e..00000000 --- a/RenderPipelineFile/samples/05-Quboid/src/LevelLoader.py +++ /dev/null @@ -1,287 +0,0 @@ - -""" -i dont really know how to save maps in a best possible way. but i guess i'll just store the same informationas in the tags in clear-text. -<"Type"="tile","Pos"="12_2"> -pos is the X_Y coordinate. Type can be lots of different types. "tile" would be the standard tile, -"weakTile" is one that only carries half the cuboid. "fragile" could be one that breaks after using it once -"switch" which triggers events... stuff like that. can be extended quite esily. - -other tags are "Start" and "Goal" -further tags could be "ID" which could come in handy when using switches. -notice the naming. tag names start capital, the values lowercase. - -""" -from panda3d.core import NodePath, Vec3 -from direct.showbase.Loader import Loader -from direct.interval.LerpInterval import LerpPosQuatInterval,LerpPosInterval, LerpHprInterval ,LerpPosHprInterval ,LerpColorScaleInterval -from direct.interval.LerpInterval import LerpFunc -from direct.interval.FunctionInterval import Func,Wait -from direct.interval.MetaInterval import Sequence -from random import random -from panda3d.core import AmbientLight,DirectionalLight -from panda3d.core import RigidBodyCombiner -from .Sound import * -from .LevelGenerator import LevelGenerator -from panda3d.core import OmniBoundingVolume - -class Level: - def __init__(self,main): - self.main = main - self.sounds = Sounds() - self.loadBackground() - self.levelGen = LevelGenerator() - print("initializing levelnode") - self.LevelNr = 0 - - def loadBackground(self,background="./models/surrounding/Scene.bam"): - base.setBackgroundColor(1,1,1) - self.background = loader.loadModel(background) - self.background.reparentTo(render) - self.background.setZ(-10) - self.background.setScale(.3) - self.background.setH(-90) - - def loadLevel(self, levelnr=None): - """ - will load the level with the nr. if no number is specified it will load lastlevelnumber+1.. or tries to do so. - if it fails it will either generate a new level or return to the menue (havent decided yet) - """ - if levelnr == None: - self.LevelNr +=1 - else: - self.LevelNr = levelnr - print("trying to load level nr:",self.LevelNr) - #handle unloading of the map here. - try: - tiles = self.levelNode.findAllMatches("=Pos") - except: - tiles = [] - print("no tiles for removal found") - for tile in tiles: - x,y,z = self.getPosFromTile(tile) - self.stopAnimatedTile(x,y) - tile.remove_node() - - try: - self.levelNode.remove_node() - except: - print("failed to remove old level node.. maybe there was none?") - - print("loading level....") - - try: - data=open("./levels/level_"+str(self.LevelNr)).read() - except: - print("sorry, failed to load mapfile level"+str(self.LevelNr)) - - #data = self.levelGen.generateLevel() - #print ".... level generator should kick in here.. but it's not yet ready.." - self.main.levelEnd() - return 1 - - #data=open("./levels/level_"+str(self.LevelNr-1)).read() - #if self.newMap == None: - # self.createNewLevel(level) - #data=open("./levels/level_temp").read() - #return - - - - self.levelNode = self.loadLevelData( data ) - print(self.levelNode, "returning levelNode") - self.levelNode.reparentTo(render) - self.fadeInLevel() - return 0 - #return self.levelNode - - #startPos = self.LevelNode.find("=Type=start").getTag("Pos") - #startPos = startPos.split("_") - - def animateTile(self,x,y): - """ - the floating animation of tiles. - """ - Time = 2 - tile = self.getTileFromPos(x,y) - if tile: - if tile.getPythonTag("Seq").isPlaying() ==False: - seq = Sequence( - LerpPosInterval( tile, Time+(0.2*Time*random()),(x,y,.35),(x,y,0) , blendType="easeInOut") , - LerpPosInterval( tile, Time+(0.2*Time*random()),(x,y, 0),(x,y,.35) , blendType="easeInOut") ) - tile.setPythonTag("Seq", seq ) - seq.loop() - - - def stopAnimatedTile(self,x,y,now=None): - tile = self.getTileFromPos(x,y) - if tile: - if tile.hasPythonTag("Seq") and now == None: - sequence = tile.getPythonTag("Seq") - sequence.pause() - sequence = Sequence( Wait(.1), LerpPosQuatInterval(tile,.1,(x,y,0),(0,0,0),blendType='easeIn') ) - sequence.start() - tile.setPythonTag("Seq",sequence) - elif tile.hasPythonTag("Seq") and now != None: - sequence = tile.getPythonTag("Seq") - sequence.pause() - - def animateTiles(self,task=None): - """ - calls animateTile on all tiles. note the plural in the name - """ - tiles = self.levelNode.findAllMatches("=Pos") - for tile in tiles: - x,y,z = self.getPosFromTile(tile) - self.animateTile(x,y) - - - def loadTile(self,data): - data = data.split(",") - tile = None - for i in data: - #check for the type and load tile - if i.startswith("Type="): - i = i.split("=") - tile = loader.loadModel("./models/"+i[1]+".bam") - tile.setTag(i[0],i[1]) - break - - for i in data: - if i.startswith("Pos=") and tile != None: - i = i.split("=") - tile.setTag(i[0], i[1]) - break - - if tile: - if tile.hasTag("Pos") and tile.hasTag("Type"): - return tile - else: - return None - else: - return None - - - def loadLevelData(self,inputData): - """ - processes the level asloaded from the file. it seperates the input data until the data for each tile is ready. - each tile data will be passed to loadTile(). - it returns a rigidNode optimized nodepath. - """ - rigidNode = RigidBodyCombiner("LevelNode") - levelNode = NodePath(rigidNode) - #rigidNode.reparentTo(levelNode) - #this looks heavy but all it does is deleting whitespaces and seperating the content for each tile into a list. - inputData = inputData.replace("\n","").strip().replace(" ","").lstrip("<").rstrip(">").split("><") - - for tileData in inputData: - tile = self.loadTile(tileData) - if tile != None: - tile.reparentTo(levelNode) - tile.setPos( self.getPosFromTile(tile) ) - tile.setZ(tile,0.00000001) #workaround for rigid body combiner so it does not assume the (0,0) tile as static - else: - print("ERROR, could not load tile with data: ",tileData) - rigidNode.collect() - inode = rigidNode.getInternalScene().node() #workaround for a boundingvolume issue with rigidbodycombiner - inode.setBounds(OmniBoundingVolume()) #still workaround - inode.setFinal(True) #still workaround - #levelNode.analyze() - return levelNode - - def getTileFromPos(self,x,y): - """ - returns the nodePath of a tile with the given tile number - """ - if type(x) == list or type(x) == tuple: - y=x[1] - x=x[0] - tile = self.levelNode.find("=Pos="+str(x)+"_"+str(y)) - if tile.isEmpty(): - return None - else: - return tile - - def getPosFromTile(self,tile): - """ - returns the tile position given a tile's nodePath, or None if the nodepath has no position tags - """ - if tile.hasTag("Pos"): - pos = tile.getTag("Pos").split("_") - x,y = int(pos[0]) , int(pos[1]) - return (x,y,0) - else: - print("ERROR, supplied tile has no 'Pos' tag") - return None - - def getStartTile(self): - tile = self.levelNode.find("=Type=start") - if tile.isEmpty() == True: - print("Start-Tile was not found.. I'm prediction an application crash within the next 50ms...") - print("oh.. and feel free to add propper exception handling here so we get back to some menue or so, instead of crashin") - return tile - - - def fadeOutLevel(self,fadeTime=1): - """ - the level-falls-apart animation. - """ - tiles = self.levelNode.findAllMatches("=Pos") - for tile in tiles: - x,y,z = self.getPosFromTile(tile) - self.stopAnimatedTile(x,y,True) - tile.setPos(x,y,0) - #tile.setHpr(random()*360,random()*360,random()*360) - # seq = LerpPosHprInterval(tile,fadeTime+(0.3*fadeTime*random()),(x,y,-15),(random()*360 -180,random()*360-180,random()*360-180), blendType='easeIn') - # seq.start() - - final_hpr = Vec3(random(), random(), random()) * 360.0 - force = (Vec3(random(), random(), random())-0.5) * 5.0 - force.z = 0 - seq = LerpFunc(self.tileGravityAnimation, fromData=0, toData=1, duration=1.0, blendType='noBlend', extraArgs=[tile.get_pos(render), Vec3(0), final_hpr, tile, force]) - tile.setPythonTag("Seq", seq) - seq.start() - - - def tileGravityAnimation(self, t, initial_pos, initial_hpr, dest_hpr, tile, force): - """ - Animates a tile by applying gravity - """ - z_force = -(t**2) * 9.81 * 1.7 - regular_force = force * t - dest_pos = initial_pos + regular_force + Vec3(0, 0, z_force) - tile.set_pos(render, dest_pos) - tile.set_hpr(render, initial_hpr * (1 - t) + dest_hpr * t) - - def fadeInLevel(self, fadeTime = 1.6): - """ - fade-in animation. the parameter it takes is the time in seconds.changing it might cause animation glitches with the cube-fade-in animation - """ - self.sounds.playSound("nyon.wav") - tiles = self.levelNode.findAllMatches("=Pos") - for tile in tiles: - - x,y,z = self.getPosFromTile(tile) - tile.setPos(x,y,-15) - tile.setHpr(random()*360-180,random()*360-180,random()*360-180) - seq = LerpPosQuatInterval(tile,fadeTime+(0.3*fadeTime*random()),(x,y,0),(0,0,0),blendType='easeOut') - tile.setPythonTag("Seq", seq ) - seq.start() - Sequence(Wait(fadeTime*1.4), Func(lambda:self.animateTiles())).start() - - def tintTile(self,x,y): - """ - the 'i was so bored and was looking for something colorful' function. feel free to enable it in the Cube.py file - """ - if x != None and y != None: - tile=self.getTileFromPos(x,y) - - #tile.setColorScale(0,0,0,1) - if tile != None: - if tile.hasPythonTag("Colorlerp"): - tile.getPythonTag("Colorlerp").pause() - seq = Sequence( - Wait(.1), - LerpColorScaleInterval(tile,.1,(random(),random(),random(),1) ), - LerpColorScaleInterval(tile,10,(1,1,1,1) ) ) - tile.setPythonTag("Colorlerp",seq) - seq.start() diff --git a/RenderPipelineFile/samples/05-Quboid/src/Menu.py b/RenderPipelineFile/samples/05-Quboid/src/Menu.py deleted file mode 100644 index 46b7137b..00000000 --- a/RenderPipelineFile/samples/05-Quboid/src/Menu.py +++ /dev/null @@ -1,145 +0,0 @@ - - -from panda3d.core import SamplerState -from direct.gui.DirectFrame import DirectFrame -from direct.gui.DirectButton import DirectButton -from direct.interval.LerpInterval import LerpColorScaleInterval -from direct.interval.MetaInterval import Sequence -from direct.interval.FunctionInterval import Func -from direct.gui.DirectGuiBase import DGG -from sys import exit - -class Menu(object): - def __init__(self,main): - self.main=main - - wx = base.win.get_x_size() - wy = base.win.get_y_size() - kx = 1920 - ky = 1080 - self.myFrame = DirectFrame(frameColor=(1,1,1,1), - frameSize=(0, kx,0, ky)) - - menu_tex = loader.loadTexture("res/menu.png") - menu_tex.set_minfilter(SamplerState.FT_nearest) - menu_tex.set_magfilter(SamplerState.FT_linear) - self.myFrame["frameTexture"] = menu_tex - self.myFrame.reparentTo(base.pixel2d) - self.myFrame.set_pos( (wx-kx) / 2, 0, -(wy+ky) / 2) - self.myFrame.set_transparency(True) - - self.startButton = DirectButton( - text = "", - text_scale=1.0, - text_fg=(0.2,0.2,0.2,1), - frameTexture="res/start_game.png", - frameColor=(1,1,1,1), - frameSize=(-64, 64, -20, 20), - command=self.main.startGame, - relief=DGG.FLAT, - rolloverSound=None, - clickSound=None, - parent=self.myFrame, - scale=2.0, - pos=(wx/2 + 160, 0, wy/2 + 50) - ) - self.startButton.setTransparency(1) - - self.exitButton = DirectButton( - text = ("Exit Game"), - pos=(0,0,-.8), - text_scale=.1, - frameColor=(0,0,0,0), - relief=1, - frameVisibleScale=(2,3), - command=exit, - rolloverSound=None, - clickSound=None, - parent=self.myFrame, - ) - self.exitButton.setTransparency(1) - - self.resumeButton = DirectButton( - text = ("Resume"), - pos=(.0,0,.3), - text_scale=.1, - frameColor=(0,0,0,0), - relief=1, - frameVisibleScale=(2,3), - command=self.main.resumeGame, - rolloverSound=None, - clickSound=None, - parent=self.myFrame, - ) - - self.resumeButton.setTransparency(1) - self.resumeButton.hide() - - self.selectFrame= DirectFrame( frameColor=(1,1,1,1) , frameSize=(-64, 64, -20, 20) , frameTexture="res/select.png") - self.selectFrame.setTransparency(1) - self.selectFrame.reparentTo(self.startButton) - self.entries = [self.exitButton,self.startButton,self.resumeButton] - self.activeEntry = 1 - - - - - def clearKeys(self): - base.ignore("arrow_up") - base.ignore("arrow_down") - base.ignore("arrow_left") - base.ignore("arrow_right") - base.ignore("escape") - base.ignore("enter") - - def execSelection(self): - self.entries[self.activeEntry]["command"]() - - - def selectDown(self): - if self.activeEntry == 0: - self.activeEntry = len(self.entries)-1 - else: - self.activeEntry -=1 - - if self.entries[self.activeEntry].isHidden(): - self.selectDown() - return - self.selectFrame.reparentTo(self.entries[self.activeEntry]) - - def selectUp(self): - - if self.activeEntry == len(self.entries)-1: - self.activeEntry=0 - else: - self.activeEntry +=1 - if self.entries[self.activeEntry].isHidden() : - self.selectUp() - return - self.selectFrame.reparentTo(self.entries[self.activeEntry]) - - def hideMenu(self): - self.clearKeys() - self.main.gui.show() - seq= Sequence( LerpColorScaleInterval(self.myFrame, 0.4 ,(1,1,1,0)) , Func(self.myFrame.hide) ) - seq.start() - - def hideResume(self): - seq= Sequence( LerpColorScaleInterval(self.resumeButton, .5 ,(1,1,1,0)) , Func(self.resumeButton.hide)) - seq.start() - - def showResume(self): - self.resumeButton.show() - #seq= Sequence( LerpColorScaleInterval(self.resumeButton, 1 ,(1,1,1,1)) ) - #seq.start() - - def showMenu(self): - self.clearKeys() - base.accept("arrow_up" , self.selectUp ) - base.accept("arrow_down" , self.selectDown ) - base.accept("escape", exit) - base.accept("enter",self.execSelection) - self.myFrame.show() - self.main.gui.hide() - seq= Sequence( LerpColorScaleInterval(self.myFrame, .5 ,(1,1,1,1)) ) - seq.start() diff --git a/RenderPipelineFile/samples/05-Quboid/src/Sound.py b/RenderPipelineFile/samples/05-Quboid/src/Sound.py deleted file mode 100644 index a6f4d35f..00000000 --- a/RenderPipelineFile/samples/05-Quboid/src/Sound.py +++ /dev/null @@ -1,26 +0,0 @@ - - -class Sounds(object): - def __init__(self): - self.soundlist = [ - ["stonerotate.wav",1], - ["finish.wav",1], - ["kr1.wav",.3], - ["kr2.wav",.3], - ["drop4.wav",1], - ["drop3.wav",1], - ["drop2.wav",1], - ["drop1.wav",1], - ["nyon.wav",1], - ] - self.soundDict={} - - for sound in self.soundlist: - self.soundDict[sound[0]] = loader.loadSfx("./sounds/"+sound[0]) - self.soundDict[sound[0]].setVolume(sound[1]) - - def playSound(self,soundname): - if soundname in self.soundDict: - self.soundDict[soundname].play() - else: - print("sound not found",soundname) diff --git a/RenderPipelineFile/samples/05-Quboid/src/__init__.py b/RenderPipelineFile/samples/05-Quboid/src/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/RenderPipelineFile/samples/06-Car/main.py b/RenderPipelineFile/samples/06-Car/main.py deleted file mode 100644 index da6715f8..00000000 --- a/RenderPipelineFile/samples/06-Car/main.py +++ /dev/null @@ -1,84 +0,0 @@ - -# Disable the "xxx has no yyy member" error, pylint seems to be unable to detect -# the properties of a nodepath -# pylint: disable=no-member - -from __future__ import print_function - -import os -import sys -import math -from random import random, randint, seed -from panda3d.core import Vec3, load_prc_file_data -from direct.showbase.ShowBase import ShowBase - -# Change to the current directory -os.chdir(os.path.dirname(os.path.realpath(__file__))) - -class MainApp(ShowBase): - def __init__(self): - - # Setup window size, title and so on - load_prc_file_data("", """ - win-size 1600 900 - window-title Render Pipeline - Car Demo - """) - - # ------ Begin of render pipeline code ------ - - # Insert the pipeline path to the system path, this is required to be - # able to import the pipeline classes - pipeline_path = "../../" - - # Just a special case for my development setup, so I don't accidentally - # commit a wrong path. You can remove this in your own programs. - if not os.path.isfile(os.path.join(pipeline_path, "setup.py")): - pipeline_path = "../../RenderPipeline/" - - sys.path.insert(0, pipeline_path) - - from rpcore import RenderPipeline, SpotLight - self.render_pipeline = RenderPipeline() - self.render_pipeline.create(self) - - # This is a helper class for better camera movement - its not really - # a rendering element, but it included for convenience - from rpcore.util.movement_controller import MovementController - - # ------ End of render pipeline code, thats it! ------ - - self.render_pipeline.daytime_mgr.time = "20:08" - - # Load the scene - model = loader.loadModel("scene/scene.bam") - # model = loader.loadModel("scene2/Scene.bam") - model_0 = self.loader.loadModel("/home/tiger/下载/Benci/source/s65/s65/s65.fbx") - model_0.reparentTo(self.render) - model_0.setScale(0.01) - model_0.setPos(-8, 42, 0) - model_0.setHpr(0, 90, 0) - - model.reparent_to(render) - self.render_pipeline.prepare_scene(model) - - # Init movement controller - self.controller = MovementController(self) - self.controller.set_initial_position( - Vec3(-7.5, -5.3, 1.8), Vec3(-5.9, -4.0, 1.6)) - self.controller.setup() - - base.accept("l", self.tour) - - def tour(self): - """ Camera flythrough """ - mopath = ( - (Vec3(-10.8645000458, 9.76458263397, 2.13306283951), Vec3(-133.556228638, -4.23447799683, 0.0)), - (Vec3(-10.6538448334, -5.98406457901, 1.68028640747), Vec3(-59.3999938965, -3.32706642151, 0.0)), - (Vec3(9.58458328247, -5.63625621796, 2.63269257545), Vec3(58.7906494141, -9.40668964386, 0.0)), - (Vec3(6.8135137558, 11.0153560638, 2.25509500504), Vec3(148.762527466, -6.41223621368, 0.0)), - (Vec3(-9.07093334198, 3.65908527374, 1.42396306992), Vec3(245.362503052, -3.59927511215, 0.0)), - (Vec3(-8.75390911102, -3.82727789879, 0.990055501461), Vec3(296.090484619, -0.604830980301, 0.0)), - ) - self.controller.play_motion_path(mopath, 3.0) - -MainApp().run() diff --git a/RenderPipelineFile/samples/06-Car/scene/Scene.blend b/RenderPipelineFile/samples/06-Car/scene/Scene.blend deleted file mode 100644 index 541c888c..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/Scene.blend and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/scene.bam b/RenderPipelineFile/samples/06-Car/scene/scene.bam deleted file mode 100644 index 8dc54969..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/scene.bam and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/AirPattern.png b/RenderPipelineFile/samples/06-Car/scene/tex/AirPattern.png deleted file mode 100644 index e6b28085..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/AirPattern.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/AirPatternBW.png b/RenderPipelineFile/samples/06-Car/scene/tex/AirPatternBW.png deleted file mode 100644 index bb60ff4b..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/AirPatternBW.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/BrushedMetal.png b/RenderPipelineFile/samples/06-Car/scene/tex/BrushedMetal.png deleted file mode 100644 index 522629b7..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/BrushedMetal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/CarPaintDiff.png b/RenderPipelineFile/samples/06-Car/scene/tex/CarPaintDiff.png deleted file mode 100644 index 6a53101e..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/CarPaintDiff.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/CarPaintNrm.png b/RenderPipelineFile/samples/06-Car/scene/tex/CarPaintNrm.png deleted file mode 100644 index b27c33b2..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/CarPaintNrm.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/CarPaintSpec.png b/RenderPipelineFile/samples/06-Car/scene/tex/CarPaintSpec.png deleted file mode 100644 index 2a6a5512..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/CarPaintSpec.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/Cerberus_A.tga b/RenderPipelineFile/samples/06-Car/scene/tex/Cerberus_A.tga deleted file mode 100644 index aa9fffaf..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/Cerberus_A.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/Cerberus_M.tga b/RenderPipelineFile/samples/06-Car/scene/tex/Cerberus_M.tga deleted file mode 100644 index dfe249a6..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/Cerberus_M.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/Cerberus_N.tga b/RenderPipelineFile/samples/06-Car/scene/tex/Cerberus_N.tga deleted file mode 100644 index 60d77b46..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/Cerberus_N.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/Cerberus_R.tga b/RenderPipelineFile/samples/06-Car/scene/tex/Cerberus_R.tga deleted file mode 100644 index 26c3859f..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/Cerberus_R.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteDiff.png b/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteDiff.png deleted file mode 100644 index 8e756b65..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteDiff.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteNormal.png b/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteNormal.png deleted file mode 100644 index 416b9697..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteNormal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteNrm.png b/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteNrm.png deleted file mode 100644 index 7e8b7795..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteNrm.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteRoughness.png b/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteRoughness.png deleted file mode 100644 index 170d8fd1..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteRoughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteSpec.png b/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteSpec.png deleted file mode 100644 index 28e7cc23..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/ConcreteSpec.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/FloorDiff.png b/RenderPipelineFile/samples/06-Car/scene/tex/FloorDiff.png deleted file mode 100644 index b15142c0..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/FloorDiff.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/FloorNrm.png b/RenderPipelineFile/samples/06-Car/scene/tex/FloorNrm.png deleted file mode 100644 index 81f69168..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/FloorNrm.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/FloorRough.png b/RenderPipelineFile/samples/06-Car/scene/tex/FloorRough.png deleted file mode 100644 index 93f044e7..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/FloorRough.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/MarbleTex.png b/RenderPipelineFile/samples/06-Car/scene/tex/MarbleTex.png deleted file mode 100644 index 569cff68..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/MarbleTex.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/Rock.png b/RenderPipelineFile/samples/06-Car/scene/tex/Rock.png deleted file mode 100644 index 887fe400..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/Rock.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/RockNrm.png b/RenderPipelineFile/samples/06-Car/scene/tex/RockNrm.png deleted file mode 100644 index b7cf7bf4..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/RockNrm.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/Tire.png b/RenderPipelineFile/samples/06-Car/scene/tex/Tire.png deleted file mode 100644 index d829d3a6..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/Tire.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/TireNrm.png b/RenderPipelineFile/samples/06-Car/scene/tex/TireNrm.png deleted file mode 100644 index 8979d1bb..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/TireNrm.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/TireRimDiff.png b/RenderPipelineFile/samples/06-Car/scene/tex/TireRimDiff.png deleted file mode 100644 index ad2dd072..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/TireRimDiff.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/TireRimSpec.png b/RenderPipelineFile/samples/06-Car/scene/tex/TireRimSpec.png deleted file mode 100644 index ec4fdc67..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/TireRimSpec.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/TireSpec.png b/RenderPipelineFile/samples/06-Car/scene/tex/TireSpec.png deleted file mode 100644 index 89d156c8..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/TireSpec.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/WallTileRough.png b/RenderPipelineFile/samples/06-Car/scene/tex/WallTileRough.png deleted file mode 100644 index c741aa3b..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/WallTileRough.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/alduin.jpg b/RenderPipelineFile/samples/06-Car/scene/tex/alduin.jpg deleted file mode 100644 index 7acb6911..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/alduin.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/alduin.png b/RenderPipelineFile/samples/06-Car/scene/tex/alduin.png deleted file mode 100644 index 7dcdea03..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/alduin.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/alduin_n.jpg b/RenderPipelineFile/samples/06-Car/scene/tex/alduin_n.jpg deleted file mode 100644 index bdab0653..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/alduin_n.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/alduineyes.jpg b/RenderPipelineFile/samples/06-Car/scene/tex/alduineyes.jpg deleted file mode 100644 index 4cebf88d..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/alduineyes.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/alduineyes_g.jpg b/RenderPipelineFile/samples/06-Car/scene/tex/alduineyes_g.jpg deleted file mode 100644 index 23e1d2fe..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/alduineyes_g.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/black.tga b/RenderPipelineFile/samples/06-Car/scene/tex/black.tga deleted file mode 100644 index d47a40dc..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/black.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/carbonFiber.tga b/RenderPipelineFile/samples/06-Car/scene/tex/carbonFiber.tga deleted file mode 100644 index af186173..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/carbonFiber.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/empty_basecolor.png b/RenderPipelineFile/samples/06-Car/scene/tex/empty_basecolor.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/empty_basecolor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/empty_normal.png b/RenderPipelineFile/samples/06-Car/scene/tex/empty_normal.png deleted file mode 100644 index 863dc2ec..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/empty_normal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/empty_roughness.png b/RenderPipelineFile/samples/06-Car/scene/tex/empty_roughness.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/empty_roughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/empty_specular.png b/RenderPipelineFile/samples/06-Car/scene/tex/empty_specular.png deleted file mode 100644 index 26ee2247..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/empty_specular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/floor_spec.png b/RenderPipelineFile/samples/06-Car/scene/tex/floor_spec.png deleted file mode 100644 index 37be52e8..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/floor_spec.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/glass0.tga b/RenderPipelineFile/samples/06-Car/scene/tex/glass0.tga deleted file mode 100644 index 3242ce70..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/glass0.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/grille1.tga b/RenderPipelineFile/samples/06-Car/scene/tex/grille1.tga deleted file mode 100644 index 4fa8e708..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/grille1.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/grille2.tga b/RenderPipelineFile/samples/06-Car/scene/tex/grille2.tga deleted file mode 100644 index a758253a..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/grille2.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/interior_lod0.tga b/RenderPipelineFile/samples/06-Car/scene/tex/interior_lod0.tga deleted file mode 100644 index 04527494..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/interior_lod0.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/lights.tga b/RenderPipelineFile/samples/06-Car/scene/tex/lights.tga deleted file mode 100644 index fe56b100..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/lights.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/nodamage.tga b/RenderPipelineFile/samples/06-Car/scene/tex/nodamage.tga deleted file mode 100644 index 81a3b31e..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/nodamage.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/oilfilm.png b/RenderPipelineFile/samples/06-Car/scene/tex/oilfilm.png deleted file mode 100644 index 712715c7..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/oilfilm.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/painting-roughness.png b/RenderPipelineFile/samples/06-Car/scene/tex/painting-roughness.png deleted file mode 100644 index f7b4fb09..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/painting-roughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/painting.png b/RenderPipelineFile/samples/06-Car/scene/tex/painting.png deleted file mode 100644 index 5e13dbca..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/painting.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/pipeline_logo_text.png b/RenderPipelineFile/samples/06-Car/scene/tex/pipeline_logo_text.png deleted file mode 100644 index 9c8cd24c..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/pipeline_logo_text.png and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/tireA0.tga b/RenderPipelineFile/samples/06-Car/scene/tex/tireA0.tga deleted file mode 100644 index 473bc66a..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/tireA0.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/undercarriage.tga b/RenderPipelineFile/samples/06-Car/scene/tex/undercarriage.tga deleted file mode 100644 index 70e60903..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/undercarriage.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/wheel.tga b/RenderPipelineFile/samples/06-Car/scene/tex/wheel.tga deleted file mode 100644 index 315d590e..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/wheel.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/scene/tex/wheel0.tga b/RenderPipelineFile/samples/06-Car/scene/tex/wheel0.tga deleted file mode 100644 index f4fd1114..00000000 Binary files a/RenderPipelineFile/samples/06-Car/scene/tex/wheel0.tga and /dev/null differ diff --git a/RenderPipelineFile/samples/06-Car/screenshot.png b/RenderPipelineFile/samples/06-Car/screenshot.png deleted file mode 100644 index 289cc840..00000000 Binary files a/RenderPipelineFile/samples/06-Car/screenshot.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/main.py b/RenderPipelineFile/samples/07-Shading-Models/main.py deleted file mode 100644 index 8c6b76eb..00000000 --- a/RenderPipelineFile/samples/07-Shading-Models/main.py +++ /dev/null @@ -1,103 +0,0 @@ -""" - -Shading Models - -This shows the different shading models supported in the pipeline. - -""" - -from __future__ import print_function - -import os -import sys -import math -from random import random, randint, seed -from panda3d.core import Vec3, load_prc_file_data -from direct.showbase.ShowBase import ShowBase - -# Change to the current directory -os.chdir(os.path.dirname(os.path.realpath(__file__))) - -class MainApp(ShowBase): - def __init__(self): - - # Setup window size, title and so on - load_prc_file_data("", """ - win-size 1600 900 - window-title Render Pipeline - Shading Models Demo - """) - - # ------ Begin of render pipeline code ------ - - # Insert the pipeline path to the system path, this is required to be - # able to import the pipeline classes - pipeline_path = "../../" - - # Just a special case for my development setup, so I don't accidentally - # commit a wrong path. You can remove this in your own programs. - if not os.path.isfile(os.path.join(pipeline_path, "setup.py")): - pipeline_path = "../../RenderPipeline/" - - sys.path.insert(0, pipeline_path) - - from rpcore import RenderPipeline, SpotLight - self.render_pipeline = RenderPipeline() - self.render_pipeline.create(self) - - # This is a helper class for better camera movement - its not really - # a rendering element, but it included for convenience - from rpcore.util.movement_controller import MovementController - - # ------ End of render pipeline code, thats it! ------ - - # Set time of day - self.render_pipeline.daytime_mgr.time = 0.769 - - # Load the scene - model = loader.loadModel("scene/TestScene.bam") - model.reparent_to(render) - - self.render_pipeline.prepare_scene(model) - - # Init movement controller - self.controller = MovementController(self) - self.controller.set_initial_position( - Vec3(6.6, -18.8, 4.5), Vec3(4.7, -16.7, 3.4)) - self.controller.setup() - - base.accept("l", self.tour) - base.accept("r", self.reload_shaders) - - def reload_shaders(self): - self.render_pipeline.reload_shaders() - self.render_pipeline.prepare_scene(render) - - def tour(self): - mopath = ( - (Vec3(3.97601628304, -15.5422525406, 1.73230814934), Vec3(49.2462043762, -11.7619161606, 0.0)), - (Vec3(4.37102460861, -6.52981519699, 2.84148645401), Vec3(138.54864502, -15.7908058167, 0.0)), - (Vec3(-5.88968038559, -13.9816446304, 2.44033527374), Vec3(302.348571777, -13.2863616943, 0.0)), - (Vec3(5.23844909668, -18.1897411346, 4.54698801041), Vec3(402.91229248, -14.7019147873, 0.0)), - (Vec3(-7.27328443527, -0.466051012278, 3.30696845055), Vec3(607.032165527, -19.6019115448, 0.0)), - (Vec3(5.33415555954, 1.92750489712, 2.53945565224), Vec3(484.103546143, -11.9796953201, 0.0)), - (Vec3(-0.283608138561, -6.86583900452, 1.43702816963), Vec3(354.63848877, -4.79302883148, 0.0)), - (Vec3(-11.7576808929, 7.0855755806, 3.40899515152), Vec3(272.73840332, -12.959692955, 0.0)), - (Vec3(7.75462722778, 13.220041275, 3.97876667976), Vec3(126.342140198, -19.4930171967, 0.0)), - (Vec3(-2.10827493668, 4.78230571747, 1.27567899227), Vec3(-40.1353683472, -5.77301359177, 0.0)), - (Vec3(8.67115211487, 16.9084873199, 3.72598099709), Vec3(89.5658569336, -10.9996757507, 0.0)), - (Vec3(-8.1254825592, 26.6411190033, 3.21335697174), Vec3(268.092102051, -12.1974525452, 0.0)), - (Vec3(7.89382314682, 45.8911399841, 4.47727441788), Vec3(498.199554443, -11.3263425827, 0.0)), - (Vec3(-2.33054184914, 43.8977775574, 1.86498868465), Vec3(551.198242188, 13.6092195511, 0.0)), - (Vec3(4.80335664749, 36.9664497375, 6.16300296783), Vec3(810.128417969, -10.6730031967, 0.0)), - (Vec3(45.0654678345, 7.54712438583, 22.2645874023), Vec3(808.238586426, -17.5330123901, 0.0)), - (Vec3(5.99377584457, -12.3760728836, 4.53536558151), Vec3(806.978820801, -2.39745855331, 0.0)), - (Vec3(6.05853939056, -1.72227275372, 4.53848743439), Vec3(809.65637207, -2.39745855331, 0.0)), - (Vec3(4.81568479538, 8.28769683838, 4.48393821716), Vec3(809.65637207, -2.39745855331, 0.0)), - (Vec3(5.82831144333, 17.5230751038, 4.52401590347), Vec3(809.65637207, -2.39745855331, 0.0)), - (Vec3(4.09594917297, 26.7909412384, 4.44915866852), Vec3(809.65637207, -2.39745855331, 0.0)), - (Vec3(4.39108037949, 37.2143096924, 5.16932630539), Vec3(809.65637207, -2.39745855331, 0.0)), - ) - self.controller.play_motion_path(mopath, 2.3) - - -MainApp().run() diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/.gitignore b/RenderPipelineFile/samples/07-Shading-Models/scene/.gitignore deleted file mode 100644 index 256bf264..00000000 --- a/RenderPipelineFile/samples/07-Shading-Models/scene/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.blend diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/TestScene.bam b/RenderPipelineFile/samples/07-Shading-Models/scene/TestScene.bam deleted file mode 100644 index 017e2941..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/TestScene.bam and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/ConcreteNrm.png b/RenderPipelineFile/samples/07-Shading-Models/scene/tex/ConcreteNrm.png deleted file mode 100644 index cdeee803..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/ConcreteNrm.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/ConcreteRoughness.png b/RenderPipelineFile/samples/07-Shading-Models/scene/tex/ConcreteRoughness.png deleted file mode 100644 index 2b4926f9..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/ConcreteRoughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/ConcreteSpecular.png b/RenderPipelineFile/samples/07-Shading-Models/scene/tex/ConcreteSpecular.png deleted file mode 100644 index d6824b23..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/ConcreteSpecular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/FaceDiffuse.png b/RenderPipelineFile/samples/07-Shading-Models/scene/tex/FaceDiffuse.png deleted file mode 100644 index 800910e4..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/FaceDiffuse.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/WallTex.png b/RenderPipelineFile/samples/07-Shading-Models/scene/tex/WallTex.png deleted file mode 100644 index e3094fc8..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/WallTex.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/empty_basecolor.png b/RenderPipelineFile/samples/07-Shading-Models/scene/tex/empty_basecolor.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/empty_basecolor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/empty_normal.png b/RenderPipelineFile/samples/07-Shading-Models/scene/tex/empty_normal.png deleted file mode 100644 index 863dc2ec..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/empty_normal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/empty_roughness.png b/RenderPipelineFile/samples/07-Shading-Models/scene/tex/empty_roughness.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/empty_roughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/empty_specular.png b/RenderPipelineFile/samples/07-Shading-Models/scene/tex/empty_specular.png deleted file mode 100644 index 26ee2247..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/empty_specular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/pattern.png b/RenderPipelineFile/samples/07-Shading-Models/scene/tex/pattern.png deleted file mode 100644 index ccfb77a3..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/pattern.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/roughness-tex.png b/RenderPipelineFile/samples/07-Shading-Models/scene/tex/roughness-tex.png deleted file mode 100644 index f8dc2bd4..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/roughness-tex.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/tree_stem_01.png b/RenderPipelineFile/samples/07-Shading-Models/scene/tex/tree_stem_01.png deleted file mode 100644 index d7b614ce..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/scene/tex/tree_stem_01.png and /dev/null differ diff --git a/RenderPipelineFile/samples/07-Shading-Models/screenshot.png b/RenderPipelineFile/samples/07-Shading-Models/screenshot.png deleted file mode 100644 index e85aaad3..00000000 Binary files a/RenderPipelineFile/samples/07-Shading-Models/screenshot.png and /dev/null differ diff --git a/RenderPipelineFile/samples/08-Terrain/main.py b/RenderPipelineFile/samples/08-Terrain/main.py deleted file mode 100644 index 952617d8..00000000 --- a/RenderPipelineFile/samples/08-Terrain/main.py +++ /dev/null @@ -1,117 +0,0 @@ -""" - -Terrain Demo - -Shows how to use the shader terrain mesh in the pipeline - -""" - -from __future__ import print_function - -import os -import sys -from panda3d.core import Vec3, load_prc_file_data, ShaderTerrainMesh -from direct.showbase.ShowBase import ShowBase - -# Change to the current directory -os.chdir(os.path.dirname(os.path.realpath(__file__))) - -# Insert the pipeline path to the system path, this is required to be -# able to import the pipeline classes -pipeline_path = "../../" - -# Just a special case for my development setup, so I don't accidentally -# commit a wrong path. You can remove this in your own programs. -if not os.path.isfile(os.path.join(pipeline_path, "setup.py")): - pipeline_path = "../../RenderPipeline/" - -sys.path.insert(0, pipeline_path) - -from rpcore import RenderPipeline - -# This is a helper class for better camera movement - its not really -# a rendering element, but it included for convenience -from rpcore.util.movement_controller import MovementController - -class Application(ShowBase): - def __init__(self): - - # Setup window size, title and so on - load_prc_file_data("", """ - win-size 1600 900 - window-title Render Pipeline by tobspr - stm-max-chunk-count 2048 - gl-coordinate-system default - stm-max-views 20 - notify-level-linmath error - """) - - self.render_pipeline = RenderPipeline() - self.render_pipeline.create(self) - - # Set time of day - self.render_pipeline.daytime_mgr.time = "04:25" - - # Add some environment probe to provide better reflections - probe = self.render_pipeline.add_environment_probe() - probe.set_pos(0, 0, 600) - probe.set_scale(8192 * 2, 8192 * 2, 1000) - - self.terrain_np = render.attach_new_node("terrain") - - heightfield = loader.loadTexture("resources/heightfield.png") - - for x in range(3): - for y in range(3): - terrain_node = ShaderTerrainMesh() - terrain_node.heightfield = heightfield - terrain_node.target_triangle_width = 6.0 - terrain_node.generate() - - terrain_n = self.terrain_np.attach_new_node(terrain_node) - terrain_n.set_scale(8192, 8192, 600) - terrain_n.set_pos(-4096 + (x - 1) * 8192, -4096 + (y - 1) * 8192, 0) - - # Init movement controller - self.controller = MovementController(self) - self.controller.set_initial_position(Vec3(-12568, -11736, 697), Vec3(-12328, -11357, 679)) - self.controller.setup() - - self.accept("r", self.reload_shaders) - self.reload_shaders() - - def reload_shaders(self): - self.render_pipeline.reload_shaders() - - # Set the terrain effect - self.render_pipeline.set_effect(self.terrain_np, "effects/terrain-effect.yaml", {}, 100) - base.accept("l", self.tour) - - - def tour(self): - control_points = ( - (Vec3(2755.62084961, 6983.76708984, 506.219055176), Vec3(-179.09147644, 4.30751991272, 0.0)), - (Vec3(3153.70068359, 5865.30859375, 560.780822754), Vec3(-225.239028931, 3.43641376495, 0.0)), - (Vec3(2140.57080078, 5625.22753906, 598.345031738), Vec3(-196.022613525, 1.91196918488, 0.0)), - (Vec3(2598.85961914, 3820.56958008, 627.692993164), Vec3(-272.410125732, 3.32752752304, 0.0)), - (Vec3(1894.64526367, 3597.39257812, 647.455078125), Vec3(-198.227630615, 0.605303645134, 0.0)), - (Vec3(1998.48425293, 1870.05358887, 639.38458252), Vec3(-121.682502747, 0.169744253159, 0.0)), - (Vec3(3910.55297852, 2370.70922852, 518.356567383), Vec3(-130.42376709, 3.65418696404, -0.000583928485867)), - (Vec3(4830.80761719, 1542.30749512, 501.019073486), Vec3(21.7212314606, 8.00974178314, 0.0)), - (Vec3(4324.81982422, 2259.2409668, 713.095458984), Vec3(-19.1500263214, -1.68137300014, 0.0)), - (Vec3(4584.38720703, 3417.75073242, 612.79510498), Vec3(-39.4675331116, -4.94804239273, 0.0)), - (Vec3(4569.68261719, 4840.80908203, 540.924926758), Vec3(-83.4887771606, 4.08973407745, 0.0)), - (Vec3(5061.6484375, 5490.93896484, 694.142578125), Vec3(-135.778717041, 0.605291008949, 0.0)), - (Vec3(6273.03222656, 6343.10546875, 769.735290527), Vec3(-200.826278687, -1.35470712185, 0.0)), - (Vec3(7355.02832031, 6314.39892578, 1164.65527344), Vec3(-262.645324707, -12.2435855865, 0.0)), - (Vec3(6321.42431641, 4453.68310547, 898.895202637), Vec3(-322.574157715, -2.22581481934, 0.0)), - (Vec3(4820.63916016, 4637.07128906, 793.165222168), Vec3(-330.291748047, 0.931967377663, 0.0)), - (Vec3(2621.3125, 4790.99072266, 691.223144531), Vec3(-423.059020996, 3.10974740982, 0.0)), - (Vec3(2166.64697266, 5683.75195312, 685.415039062), Vec3(-497.871612549, -1.57248008251, 0.0)), - (Vec3(2426.64135742, 7216.48974609, 993.247558594), Vec3(-524.17388916, -6.69025611877, 0.0)), - (Vec3(5014.83398438, 6712.60253906, 963.192810059), Vec3(-596.072387695, -3.31469583511, 0.00446693599224)), - (Vec3(6107.69970703, 5460.03662109, 820.63104248), Vec3(-650.567199707, 1.04085958004, 0.0)), - ) - self.controller.play_motion_path(control_points, 3.0) - -Application().run() diff --git a/RenderPipelineFile/samples/08-Terrain/resources/heightfield.png b/RenderPipelineFile/samples/08-Terrain/resources/heightfield.png deleted file mode 100644 index dfa23ac8..00000000 Binary files a/RenderPipelineFile/samples/08-Terrain/resources/heightfield.png and /dev/null differ diff --git a/RenderPipelineFile/samples/08-Terrain/screenshot.png b/RenderPipelineFile/samples/08-Terrain/screenshot.png deleted file mode 100644 index 38caf584..00000000 Binary files a/RenderPipelineFile/samples/08-Terrain/screenshot.png and /dev/null differ diff --git a/RenderPipelineFile/samples/09-Benchmark/main.py b/RenderPipelineFile/samples/09-Benchmark/main.py deleted file mode 100644 index 10a0038c..00000000 --- a/RenderPipelineFile/samples/09-Benchmark/main.py +++ /dev/null @@ -1,113 +0,0 @@ -""" - -Benchmark - -This is a benchmark to test the power of the GPU - -""" - -from __future__ import print_function, division - -import os -import sys -from panda3d.core import Vec3, load_prc_file_data, PNMImage -from direct.showbase.ShowBase import ShowBase - -# Switch into the current directory -os.chdir(os.path.realpath(os.path.dirname(__file__))) - - -class MainApp(ShowBase): - - """ Main Testing Showbase """ - - def __init__(self): - - # Setup window size, title and so on - load_prc_file_data("", """ - win-size 1600 900 - window-title Render Pipeline - Benchmark - """) - - # ------ Begin of render pipeline code ------ - - # Insert the pipeline path to the system path, this is required to be - # able to import the pipeline classes - pipeline_path = "../../" - - # Just a special case for my development setup, so I don't accidentally - # commit a wrong path. You can remove this in your own programs. - if not os.path.isfile(os.path.join(pipeline_path, "setup.py")): - pipeline_path = "../../RenderPipeline/" - - sys.path.insert(0, pipeline_path) - - from rpcore import RenderPipeline, PointLight - self.render_pipeline = RenderPipeline() - self.render_pipeline.create(self) - - # This is a helper class for better camera movement - its not really - # a rendering element, but it included for convenience - from rpcore.util.movement_controller import MovementController - - # ------ End of render pipeline code, thats it! ------ - - # Set time of day - self.render_pipeline.daytime_mgr.time = "17:41" - - self.camLens.set_fov(90) - - model = self.loader.load_model("scene/Scene.bam") - model.reparent_to(self.render) - - model.flatten_strong() - num_rows = 255 - - img = PNMImage("scene/lights.png") - - for x in range(num_rows): - for y in range(num_rows): - light = PointLight() - # light.direction = (0, 0, -1) - # light.fov = 60 - # light.set_color_from_temperature(randint(2000, 20000)) - light.color = img.get_xel(x * 1, y * 1) - light.energy = 5000 * (x / num_rows) - light.pos = Vec3(-(x - num_rows // 2) / num_rows * 1000.0, - (y - num_rows // 2) / num_rows * 1000.0, 2) - light.radius = 4 - light.inner_radius = 0.5 - light.casts_shadows = False - light.shadow_map_resolution = 256 - self.render_pipeline.add_light(light) - - self.render_pipeline.prepare_scene(model) - - # Init movement controller - self.controller = MovementController(self) - self.controller.set_initial_position(Vec3(0, 450, 200), Vec3(0)) - self.controller.setup() - - self.accept("l", self.benchmark) - - def benchmark(self): - mopath = ( - (Vec3(0.0, 450.0, 200.0), Vec3(180.0, -23.9624938965, 0.0)), - (Vec3(-190.848297119, 304.510772705, 90.5852050781), Vec3(209.767547607, -19.2802791595, 0.0)), - (Vec3(-220.74269104, 10.6886262894, 38.7188148499), Vec3(278.595062256, -16.6669464111, -0.00123210949823)), - (Vec3(-51.2080802917, -188.072463989, 50.2380104065), Vec3(364.747375488, -22.7647132874, 0.0)), - (Vec3(211.633651733, -190.621276855, 216.169631958), Vec3(413.887451172, -40.1869468689, -0.000118153897347)), - (Vec3(320.780090332, 303.404388428, 341.834014893), Vec3(495.000030518, -41.1669464111, 0.00174981483724)), - (Vec3(125.150436401, 294.57989502, 218.834960938), Vec3(444.363800049, 3.80416536331, 0.0)), - (Vec3(-355.501434326, 153.010559082, 68.0701370239), Vec3(611.234924316, -11.5491724014, 0.000359044410288)), - (Vec3(-118.283355713, -115.640907288, 6.09887886047), Vec3(637.222473145, -8.82695007324, 0.0)), - (Vec3(80.3096160889, 12.4637413025, 26.0630741119), Vec3(676.439758301, -24.3980617523, 0.0)), - (Vec3(69.6195449829, 152.581176758, 14.8633785248), Vec3(881.898925781, -15.3602952957, 0.0)), - (Vec3(-202.29776001, 109.818962097, 94.7222290039), Vec3(962.381530762, -27.7736206055, 0.00155594921671)), - (Vec3(6.89826059341, -412.195037842, 221.591659546), Vec3(1080.42749023, -31.1491756439, 0.0)), - (Vec3(362.657867432, -34.1290054321, 216.362884521), Vec3(1166.81677246, -35.0691833496, 0.0)), - (Vec3(-0.339450836182, 452.040649414, 199.996627808), Vec3(180.0, -23.9624938965, 0.0)), - ) - self.controller.play_motion_path(mopath, 3.0) - -MainApp().run() diff --git a/RenderPipelineFile/samples/09-Benchmark/scene/Scene.bam b/RenderPipelineFile/samples/09-Benchmark/scene/Scene.bam deleted file mode 100644 index 683ab56a..00000000 Binary files a/RenderPipelineFile/samples/09-Benchmark/scene/Scene.bam and /dev/null differ diff --git a/RenderPipelineFile/samples/09-Benchmark/scene/Scene.blend b/RenderPipelineFile/samples/09-Benchmark/scene/Scene.blend deleted file mode 100644 index 27d9e899..00000000 Binary files a/RenderPipelineFile/samples/09-Benchmark/scene/Scene.blend and /dev/null differ diff --git a/RenderPipelineFile/samples/09-Benchmark/scene/lights.png b/RenderPipelineFile/samples/09-Benchmark/scene/lights.png deleted file mode 100644 index 1a21a74e..00000000 Binary files a/RenderPipelineFile/samples/09-Benchmark/scene/lights.png and /dev/null differ diff --git a/RenderPipelineFile/samples/09-Benchmark/scene/tex/empty_basecolor.png b/RenderPipelineFile/samples/09-Benchmark/scene/tex/empty_basecolor.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/09-Benchmark/scene/tex/empty_basecolor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/09-Benchmark/scene/tex/empty_normal.png b/RenderPipelineFile/samples/09-Benchmark/scene/tex/empty_normal.png deleted file mode 100644 index 863dc2ec..00000000 Binary files a/RenderPipelineFile/samples/09-Benchmark/scene/tex/empty_normal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/09-Benchmark/scene/tex/empty_roughness.png b/RenderPipelineFile/samples/09-Benchmark/scene/tex/empty_roughness.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/09-Benchmark/scene/tex/empty_roughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/09-Benchmark/scene/tex/empty_specular.png b/RenderPipelineFile/samples/09-Benchmark/scene/tex/empty_specular.png deleted file mode 100644 index 26ee2247..00000000 Binary files a/RenderPipelineFile/samples/09-Benchmark/scene/tex/empty_specular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/main.py b/RenderPipelineFile/samples/10-Plugin-Showcase-AO/main.py deleted file mode 100644 index 8267bca8..00000000 --- a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/main.py +++ /dev/null @@ -1,72 +0,0 @@ -""" - -Material Demo - -This demonstrates the various materials the pipeline supports. -It is also a reference scene, for testing BRDF changes. - -""" - -from __future__ import print_function - -import os -import sys -from panda3d.core import Vec3, load_prc_file_data -from direct.showbase.ShowBase import ShowBase - -# Change to the current directory -os.chdir(os.path.dirname(os.path.realpath(__file__))) - -# Insert the pipeline path to the system path, this is required to be -# able to import the pipeline classes -pipeline_path = "../../" - -# Just a special case for my development setup, so I don't accidentally -# commit a wrong path. You can remove this in your own programs. -if not os.path.isfile(os.path.join(pipeline_path, "setup.py")): - pipeline_path = "../../RenderPipeline/" - -sys.path.insert(0, pipeline_path) - -# Import the render pipeline class -from rpcore import RenderPipeline - -# This is a helper class for better camera movement - see below. -from rpcore.util.movement_controller import MovementController - - -class Application(ShowBase): - def __init__(self): - # Setup window size and title - load_prc_file_data("", """ - # win-size 1600 900 - window-title Render Pipeline - Plugin Showcase - AO - """) - - # Construct the render pipeline - self.render_pipeline = RenderPipeline() - self.render_pipeline.create(self) - self.render_pipeline.daytime_mgr.time = "19:17" - # self.render_pipeline.daytime_mgr.time = "12:00" - - # Load the scene - model = self.loader.load_model("scene/Scene.bam") - model.reparent_to(self.render) - self.render_pipeline.prepare_scene(model) - - # probe = self.render_pipeline.add_environment_probe() - # probe.set_pos(0, 0, 4) - # probe.set_scale(42, 42, 8) - # probe.parallax_correction = True - # probe.border_smoothness = 0.001 - - # Initialize movement controller, this is a convenience class - # to provide an improved camera control compared to Panda3Ds default - # mouse controller. - self.controller = MovementController(self) - self.controller.set_initial_position_hpr( - Vec3(-17.2912578583, -13.290019989, 6.88211250305), - Vec3(-39.7285499573, -14.6770210266, 0.0)) - self.controller.setup() - -Application().run() diff --git a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/Scene.bam b/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/Scene.bam deleted file mode 100644 index 59ea84be..00000000 Binary files a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/Scene.bam and /dev/null differ diff --git a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/Scene.blend b/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/Scene.blend deleted file mode 100644 index b423b329..00000000 Binary files a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/Scene.blend and /dev/null differ diff --git a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/empty_basecolor.png b/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/empty_basecolor.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/empty_basecolor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/empty_normal.png b/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/empty_normal.png deleted file mode 100644 index 863dc2ec..00000000 Binary files a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/empty_normal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/empty_roughness.png b/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/empty_roughness.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/empty_roughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/empty_specular.png b/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/empty_specular.png deleted file mode 100644 index 26ee2247..00000000 Binary files a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/empty_specular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/skin_diffuse.jpg b/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/skin_diffuse.jpg deleted file mode 100644 index a85021c5..00000000 Binary files a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/skin_diffuse.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/wood_diffuse.jpg b/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/wood_diffuse.jpg deleted file mode 100644 index 43bb395c..00000000 Binary files a/RenderPipelineFile/samples/10-Plugin-Showcase-AO/scene/tex/wood_diffuse.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/11-Instancing/main.py b/RenderPipelineFile/samples/11-Instancing/main.py deleted file mode 100644 index c485d9d0..00000000 --- a/RenderPipelineFile/samples/11-Instancing/main.py +++ /dev/null @@ -1,109 +0,0 @@ -""" - -Material Demo - -This demonstrates the various materials the pipeline supports. -It is also a reference scene, for testing BRDF changes. - -""" - -from __future__ import print_function - -import os -import sys -import struct -from panda3d.core import Vec3, load_prc_file_data, Texture, GeomEnums -from panda3d.core import OmniBoundingVolume -from direct.showbase.ShowBase import ShowBase - -# Change to the current directory -os.chdir(os.path.dirname(os.path.realpath(__file__))) - -# Insert the pipeline path to the system path, this is required to be -# able to import the pipeline classes -pipeline_path = "../../" - -# Just a special case for my development setup, so I don't accidentally -# commit a wrong path. You can remove this in your own programs. -if not os.path.isfile(os.path.join(pipeline_path, "setup.py")): - pipeline_path = "../../RenderPipeline/" - -sys.path.insert(0, pipeline_path) - -# Import the render pipeline class -from rpcore import RenderPipeline - -# This is a helper class for better camera movement - see below. -from rpcore.util.movement_controller import MovementController - - -class Application(ShowBase): - def __init__(self): - # Setup window size and title - load_prc_file_data("", """ - # win-size 1600 900 - window-title Render Pipeline - Instancing Example - """) - - # Construct the render pipeline - self.render_pipeline = RenderPipeline() - self.render_pipeline.create(self) - self.render_pipeline.daytime_mgr.time = "19:17" - # self.render_pipeline.daytime_mgr.time = "12:00" - - # Load the scene - model = self.loader.load_model("scene/Scene.bam") - model.reparent_to(self.render) - - # Find the prefab object, we are going to in instance this object - # multiple times - prefab = model.find("**/InstancedObjectPrefab") - - # Collect all instances - matrices = [] - for elem in model.find_all_matches("**/PREFAB*"): - matrices.append(elem.get_mat(self.render)) - elem.remove_node() - - print("Loaded", len(matrices), "instances!") - - # Allocate storage for the matrices, each matrix has 16 elements, - # but because one pixel has four components, we need amount * 4 pixels. - buffer_texture = Texture() - buffer_texture.setup_buffer_texture(len(matrices) * 4, Texture.T_float, Texture.F_rgba32, GeomEnums.UH_static) - - float_size = len(struct.pack("f", 0.0)) - floats = [] - - # Serialize matrices to floats - ram_image = buffer_texture.modify_ram_image() - - for idx, mat in enumerate(matrices): - for i in range(4): - for j in range(4): - floats.append(mat.get_cell(i, j)) - - # Write the floats to the texture - data = struct.pack("f" * len(floats), *floats) - ram_image.set_subdata(0, len(data), data) - - # Load the effect - self.render_pipeline.set_effect(prefab, "effects/basic_instancing.yaml", {}) - - prefab.set_shader_input("InstancingData", buffer_texture) - prefab.set_instance_count(len(matrices)) - - # We have do disable culling, so that all instances stay visible - prefab.node().set_bounds(OmniBoundingVolume()) - prefab.node().set_final(True) - - # Initialize movement controller, this is a convenience class - # to provide an improved camera control compared to Panda3Ds default - # mouse controller. - self.controller = MovementController(self) - self.controller.set_initial_position_hpr( - Vec3(-23.2, -32.5, 5.3), - Vec3(-33.8, -8.3, 0.0)) - self.controller.setup() - -Application().run() diff --git a/RenderPipelineFile/samples/11-Instancing/scene/Scene.bam b/RenderPipelineFile/samples/11-Instancing/scene/Scene.bam deleted file mode 100644 index dbb0d22a..00000000 Binary files a/RenderPipelineFile/samples/11-Instancing/scene/Scene.bam and /dev/null differ diff --git a/RenderPipelineFile/samples/11-Instancing/scene/Scene.blend b/RenderPipelineFile/samples/11-Instancing/scene/Scene.blend deleted file mode 100644 index c723cd0b..00000000 Binary files a/RenderPipelineFile/samples/11-Instancing/scene/Scene.blend and /dev/null differ diff --git a/RenderPipelineFile/samples/11-Instancing/scene/tex/empty_basecolor.png b/RenderPipelineFile/samples/11-Instancing/scene/tex/empty_basecolor.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/11-Instancing/scene/tex/empty_basecolor.png and /dev/null differ diff --git a/RenderPipelineFile/samples/11-Instancing/scene/tex/empty_normal.png b/RenderPipelineFile/samples/11-Instancing/scene/tex/empty_normal.png deleted file mode 100644 index 863dc2ec..00000000 Binary files a/RenderPipelineFile/samples/11-Instancing/scene/tex/empty_normal.png and /dev/null differ diff --git a/RenderPipelineFile/samples/11-Instancing/scene/tex/empty_roughness.png b/RenderPipelineFile/samples/11-Instancing/scene/tex/empty_roughness.png deleted file mode 100644 index 437c2444..00000000 Binary files a/RenderPipelineFile/samples/11-Instancing/scene/tex/empty_roughness.png and /dev/null differ diff --git a/RenderPipelineFile/samples/11-Instancing/scene/tex/empty_specular.png b/RenderPipelineFile/samples/11-Instancing/scene/tex/empty_specular.png deleted file mode 100644 index 26ee2247..00000000 Binary files a/RenderPipelineFile/samples/11-Instancing/scene/tex/empty_specular.png and /dev/null differ diff --git a/RenderPipelineFile/samples/11-Instancing/scene/tex/wood_diffuse.jpg b/RenderPipelineFile/samples/11-Instancing/scene/tex/wood_diffuse.jpg deleted file mode 100644 index 43bb395c..00000000 Binary files a/RenderPipelineFile/samples/11-Instancing/scene/tex/wood_diffuse.jpg and /dev/null differ diff --git a/RenderPipelineFile/samples/README.md b/RenderPipelineFile/samples/README.md deleted file mode 100644 index 968adcdc..00000000 --- a/RenderPipelineFile/samples/README.md +++ /dev/null @@ -1,14 +0,0 @@ -## Render Pipeline Samples - -The samples are not included in this repository to keep the size small. - -#### Automatic Download (recommended) -You can run `python download_samples.py` to automatically download the samples. - -#### Manual Download -If you want to manually download the samples (for whatever reason), you can -find them here: -https://github.com/tobspr/RenderPipeline-Samples - -After downloading, place the downloaded contents in this folder to run the samples. diff --git a/RenderPipelineFile/samples/download_samples.py b/RenderPipelineFile/samples/download_samples.py deleted file mode 100644 index d7473118..00000000 --- a/RenderPipelineFile/samples/download_samples.py +++ /dev/null @@ -1,44 +0,0 @@ -""" - -RenderPipeline - -Copyright (c) 2014-2016 tobspr - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -""" - -# Script to download the Render Pipeline samples - -import os -import sys - -sys.path.insert(0, "../") -sys.path.insert(0, "../rpcore/util") - -from submodule_downloader import download_submodule # noqa - -if __name__ == "__main__": - - # Make sure we are in the right directory - main_dir = os.path.dirname(os.path.realpath(__file__)) - os.chdir(main_dir) - - # Now extract the samples - download_submodule("tobspr", "RenderPipeline-Samples", ".", ["README.md", "LICENSE"]) diff --git a/core/InfoPanelManager.py b/core/InfoPanelManager.py index 786a4763..71a43eb8 100644 --- a/core/InfoPanelManager.py +++ b/core/InfoPanelManager.py @@ -51,7 +51,7 @@ class InfoPanelManager(DirectObject): title, content = self._getPanelContent(panel_id) # 创建主节点,便于统一管理 - panel_node = parent_node.attachNewNode(f"info_panel_{panel_id}") + panel_node = parent_node.attachNewNode(f"{panel_id}") panel_node.setPos(position[0], 0, position[1]) # 创建主面板框架(带边框效果) @@ -187,7 +187,6 @@ class InfoPanelManager(DirectObject): panel_node.setTag("is_gui_element",'1') panel_node.setTag("tree_item_type","INFO_PANEL") panel_node.setTag("supports_3d_position_editing","1") - # 如果有背景图片,保存背景图片路径 if bg_image: panel_node.setTag("image_path", bg_image) @@ -759,7 +758,7 @@ class InfoPanelManager(DirectObject): title, content = self._getPanelContent(panel_id) # 创建主节点,便于统一管理 - panel_node = parent_node.attachNewNode(f"info_panel_3d_{panel_id}") + panel_node = parent_node.attachNewNode(f"{panel_id}") panel_node.setPos(position[0], position[1], position[2]) # 直接创建文字节点,不创建面板背景和边框 @@ -1294,6 +1293,7 @@ class InfoPanelManager(DirectObject): font=font, bg_image="/home/tiger/图片/内部信息框2@2x.png" ) + weather_panel.setTag("name",unique_id) # 更新面板标题 self.updatePanelContent(unique_id, title="北京天气") diff --git a/main.py b/main.py index 9e526043..9e3a70e4 100644 --- a/main.py +++ b/main.py @@ -49,6 +49,9 @@ from direct.actor.Actor import Actor from PyQt5.sip import wrapinstance #from RenderPipelineFile.toolkit.material_editor.main import MaterialEditor +from setup_panda3d import setup_panda3d +setup_panda3d() + class MyWorld(CoreWorld): def __init__(self): diff --git a/ui/interface_manager.py b/ui/interface_manager.py index cd1e2ae3..045e271e 100644 --- a/ui/interface_manager.py +++ b/ui/interface_manager.py @@ -74,84 +74,6 @@ class InterfaceManager: self.world.property_panel.clearPropertyPanel() print("点击了无数据项,清除选中状态") - # def showTreeContextMenu(self, position): - # """显示树形控件的右键菜单""" - # item = self.treeWidget.itemAt(position) - # if not item: - # return - # - # # 获取节点对象 - # nodePath = item.data(0, Qt.UserRole) - # if not nodePath: - # return - # - # # 创建菜单 - # menu = QMenu() - # - # # 检查是否是GUI元素 - # if hasattr(nodePath, 'getTag') and nodePath.getTag("gui_type"): - # # GUI元素菜单 - # editAction = menu.addAction("编辑") - # editAction.triggered.connect(lambda: self.world.gui_manager.editGUIElementDialog(nodePath)) - # - # deleteAction = menu.addAction("删除GUI元素") - # deleteAction.triggered.connect(lambda: self.world.gui_manager.deleteGUIElement(nodePath)) - # - # duplicateAction = menu.addAction("复制") - # duplicateAction.triggered.connect(lambda: self.world.gui_manager.duplicateGUIElement(nodePath)) - # - # elif hasattr(nodePath,'getTag') and nodePath.getTag("element_type") == "cesium_tileset": - # deleteAction = menu.addAction("删除 Cesium Tileset") - # deleteAction.triggered.connect(lambda:self.deleteCesiumTileset(nodePath,item)) - # - # else: - # # 为模型节点或其子节点添加删除选项 - # parentItem = item.parent() - # if parentItem: - # if self.isModelOrChild(item): - # deleteAction = menu.addAction("删除") - # deleteAction.triggered.connect(lambda: self.deleteNode(nodePath, item)) - # else: - # deleteAction = menu.addAction("删除") - # deleteAction.triggered.connect(lambda: self.deleteNode(nodePath, item)) - # - # # 显示菜单 - # menu.exec_(self.treeWidget.viewport().mapToGlobal(position)) - # - # def deleteCesiumTileset(self, nodePath, item): - # """删除 Cesium tileset""" - # try: - # # 从场景中移除 - # nodePath.removeNode() - # - # # 从 tilesets 列表中移除 - # if hasattr(self.world, 'scene_manager'): - # tilesets_to_remove = [] - # for i, tileset_info in enumerate(self.world.scene_manager.tilesets): - # if tileset_info['node'] == nodePath: - # tilesets_to_remove.append(i) - # - # # 从后往前删除,避免索引问题 - # for i in reversed(tilesets_to_remove): - # del self.world.scene_manager.tilesets[i] - # - # # 从树形控件中移除 - # parentItem = item.parent() - # if parentItem: - # parentItem.removeChild(item) - # - # print(f"成功删除 Cesium tileset: {nodePath.getName()}") - # - # # 清空属性面板和选择框 - # self.world.property_panel.clearPropertyPanel() - # self.world.selection.updateSelection(None) - # - # # 更新场景树 - # self.updateSceneTree() - # - # except Exception as e: - # print(f"删除 Cesium tileset 失败: {str(e)}") - def isModelOrChild(self, item): """检查是否是模型节点或其子节点""" while item and item.parent(): diff --git a/ui/main_window.py b/ui/main_window.py index 511fd1b6..16faff40 100644 --- a/ui/main_window.py +++ b/ui/main_window.py @@ -746,15 +746,6 @@ class MainWindow(QMainWindow): # 创建示例面板动作 self.createSamplePanelAction = self.infoPanelMenu.addAction('创建示例面板') self.createSamplePanelAction.triggered.connect(self.world.info_panel_manager.onCreateSampleInfoPanel) - # 添加更多面板创建选项 - # self.createSystemStatusPanelAction = self.infoPanelMenu.addAction('创建系统状态面板') - # self.createSystemStatusPanelAction.triggered.connect(self.onCreateSystemStatusPanel) - # - # self.createSensorDataPanelAction = self.infoPanelMenu.addAction('创建传感器数据面板') - # self.createSensorDataPanelAction.triggered.connect(self.onCreateSensorDataPanel) - # - # self.createSceneInfoPanelAction = self.infoPanelMenu.addAction('创建场景信息面板') - # self.createSceneInfoPanelAction.triggered.connect(self.onCreateSceneInfoPanel) self.infoPanelMenu.addSeparator() self.create3DSamplePanelAction = self.infoPanelMenu.addAction('创建3D实例面板') @@ -762,14 +753,6 @@ class MainWindow(QMainWindow): # 添加网页浏览器菜单项 self.webBrowserAction = self.infoPanelMenu.addAction("信息面板") self.webBrowserAction.triggered.connect(self.openWebBrowser) - # - # self.create3DSystemStatusPanelAction = self.infoPanelMenu.addAction('创建3D系统状态面板') - # self.create3DSystemStatusPanelAction.triggered.connect(self.onCreate3DSystemStatusPanel) - - # 添加分隔符和批量创建选项 - # self.infoPanelMenu.addSeparator() - # self.createAllPanelsAction = self.infoPanelMenu.addAction('创建所有面板') - # self.createAllPanelsAction.triggered.connect(self.onCreateAllInfoPanels) @@ -2551,7 +2534,7 @@ class MainWindow(QMainWindow): if not WEB_ENGINE_AVAILABLE: return None try: - # from PyQt5.QtWebEngineWidgets import QWebEngineView + from PyQt5.QtWebEngineWidgets import QWebEngineView from PyQt5.QtWidgets import QDockWidget from PyQt5.QtCore import QUrl import os @@ -2611,7 +2594,8 @@ class MainWindow(QMainWindow): # 加载百度网页 #print("🌐 加载百度网页: https://www.baidu.com") - self.web_view.load(QUrl("https://www.bootstrapmb.com/item/15762/preview")) + #self.web_view.load(QUrl("https://www.bootstrapmb.com/item/15762/preview")) + self.web_view.load(QUrl("https://www.baidu.com")) # 设置内容 browser_dock.setWidget(self.web_view) @@ -2657,7 +2641,6 @@ class MainWindow(QMainWindow): except Exception as e: return f"获取示例数据失败: {str(e)}" - # 在 main_window.py 中修改 onCreate3DSampleInfoPanel 方法 def onCreate3DSampleInfoPanel(self): """创建3D示例天气信息面板(修复透明度问题)""" try: @@ -2684,15 +2667,7 @@ class MainWindow(QMainWindow): content_color=(0.95, 0.95, 0.95, 1.0), font=font ) - - # 重要:手动设置面板的透明度渲染模式 - # if weather_panel: - # # 确保面板支持透明度 - # weather_panel.setTransparency(True) - # # 设置合适的渲染顺序,确保透明对象正确渲染 - # weather_panel.setBin("transparent", 0) - # # 启用深度写入,但保持透明度 - # weather_panel.setDepthWrite(False) + weather_panel.setTag("name",unique_id) # 更新面板标题 info_manager.update3DPanelContent(unique_id, title="3D北京天气") @@ -2703,7 +2678,7 @@ class MainWindow(QMainWindow): # 显示加载中信息 info_manager.update3DPanelContent(unique_id, content="正在获取天气数据...") - info_manager.registerDataSource(unique_id, self.getRealWeatherData, update_interval=5.0) + info_manager.registerDataSource(unique_id, info_manager.getRealWeatherData, update_interval=5.0) print("✓ 3D示例天气信息面板已创建") @@ -2713,48 +2688,6 @@ class MainWindow(QMainWindow): traceback.print_exc() QMessageBox.critical(self, "错误", f"创建3D示例天气信息面板时出错: {str(e)}") - def onCreate3DSystemStatusPanel(self): - """创建3D系统状态信息面板""" - try: - # 获取中文字体 - from panda3d.core import TextNode - font = self.world.getChineseFont() if self.world.getChineseFont() else None - - # 创建面板 - info_manager = self.world.info_panel_manager - info_manager.setParent(self.world.render) - - # 使用唯一的面板ID - import time - unique_id = f"system_status_3d_{int(time.time())}" - - panel = info_manager.create3DInfoPanel( - panel_id=unique_id, - position=(2, 0, 0), - size=(0.8, 1.2), - bg_color=(0.25, 0.15, 0.15, 0.95), # 红色背景 - border_color=(0.7, 0.3, 0.3, 1.0), # 红色边框 - title_color=(1.0, 0.5, 0.5, 1.0), # 浅红色标题 - content_color=(0.95, 0.95, 0.95, 1.0), - font=font - ) - - # 添加到场景树 - self.addInfoPanelToTree(panel, "3D系统状态信息面板") - - # 立即显示初始数据 - initial_data = self.getSystemStatusData() - info_manager.update3DPanelContent(unique_id, content=initial_data) - - # 注册数据源,每5秒更新一次 - info_manager.registerDataSource(unique_id, self.getSystemStatusData, update_interval=5.0) - - except Exception as e: - print(f"✗ 创建3D系统状态信息面板失败: {e}") - import traceback - traceback.print_exc() - QMessageBox.critical(self, "错误", f"创建3D系统状态信息面板时出错: {str(e)}") - # 更新 addInfoPanelToTree 方法以支持3D面板 def addInfoPanelToTree(self, panel, panel_name): """ diff --git a/ui/property_panel.py b/ui/property_panel.py index a18aca46..fef6120b 100644 --- a/ui/property_panel.py +++ b/ui/property_panel.py @@ -9858,9 +9858,9 @@ except Exception as e: current_row += 1 # X, Y, Z 位置调整 - self.collision_pos_x = self._createCollisionSpinBox(-100, 100, 2) - self.collision_pos_y = self._createCollisionSpinBox(-100, 100, 2) - self.collision_pos_z = self._createCollisionSpinBox(-100, 100, 2) + self.collision_pos_x = self._createCollisionSpinBox(-1000000, 1000000, 2) + self.collision_pos_y = self._createCollisionSpinBox(-1000000, 1000000, 2) + self.collision_pos_z = self._createCollisionSpinBox(-1000000, 1000000, 2) x_label = QLabel("X:") x_label.setVisible(True)