TheExDeus
|
|
Reply #15 Posted on: April 21, 2014, 08:43:31 am |
|
|
Joined: Apr 2008
Posts: 1860
|
For the pre-made stuff (action_effect) no, did not notice. For my fire1 custom particles, I noticed, but I cannot compare to anything since they did not work for me previously The fire1 example is a streamed particle, first instance does not slow much, but when adding another things start to really slow down. Now I already posted my PC and GPU specs they are up to date and fast, can run all latest games at their full settings. So CPU/GPU is not a limitation. Okay I got around to testing the draw calls and indeed blend mode caused the VBO to render and blend modes were changed per particle. So it ended up rendering 1 quad per VBO which is rubbish. With 10400 particles I got 25FPS. After I fixed that I got 140FPS now. Current progress is here: On the right is Code XL debugger. Right now it's total of 70GL calls and only 3 draw calls (being glClear to clear the screen, then one draw call for the text and one draw call for all the particles). In all the graphics systems I get 140-160FPS which leads me to believe this is no longer a drawing limitation, but now it's CPU bound (all the particles are calculated on the CPU). I only have old GM8 installed in that I get about 35FPS with the same example. But I guess the new GM:S would probably work even faster than ENIGMA in that code (maybe someone can test? The example is here: https://dl.dropboxusercontent.com/u/21117924/particle_test.gmk) as they use GPU to calculate particles. So it might be a lot faster, but a lot more limited. Like they no longer have attractors, destructors and so on. What we could do is use instances in in the particle system. It would lower bandwidth by factor of 4. We could technically use instances for all sprites, but that would not allow mixing vertices like we can do now. The branch with fixes is here: https://github.com/enigma-dev/enigma-dev/tree/particle_fix . Could you Dark check and see what FPS you get now? Also, I previously was mistaken. I was very sure we used batching even in GL1. That apparently is not the case. For backwards compatibility that thing is still immediate mode. But because of clever driver side stuff it usually runs a little faster than GL3. We still need to optimized GL3 though.
|
|
« Last Edit: April 21, 2014, 05:12:39 pm by TheExDeus »
|
Logged
|
|
|
|
Darkstar2
|
|
Reply #16 Posted on: April 21, 2014, 04:38:25 pm |
|
|
Joined: Jan 2014
Posts: 1238
|
Nice find Ok I screwed up somehow, when I attempted to test before and after your change I had a FPS of 75 I was confused at first but then I remembered I had adaptive vsync in my NVIDIA panel on, I had to set it to use application settings which I did but it was too late I already had your new mod. Anyhow, tested at 144-146 FPS OGL1 (holds steady 146) and about 130-136 FPS OGL3. //edit: Testing on compiled EXE, holds steady at 151 FPS (OGL1) and 133 FPS (OGL3). BTW, DX11 and DX9 does not work anymore with particles I would get a blank screen but initially before a re-install, I would get this: Building for mode (0) Cleaning up from previous executions - Cleared parsed objects - Cleared room entries - Cleared shared locals list - Cleared event info Loading shared locals from extensions list Location in memory of structure: 4eb62da8 Copying resources: Copying sprite names Copying sound names Copying background names Copying path names Copying script names Copying shader names Copying font names [1] Copying timeline names [kidding, these are totally not implemented ] Copying object names [1] Copying room names [1] SYNTAX CHECKING AND PRIMARY PARSING: 0 Scripts: "Linking" scripts `Linking' 0 scripts in 0 passes... Completing script "Link" Done. 1 Objects: obj_0: 12 events: Event[0]: Parsing 1 sub-events: Check `obj_0::create... Done. Parse... Done. Event[8]: Parsing 1 sub-events: Check `obj_0::draw... Done. Parse... Done. Creating room creation code scope and parsing "Linking" scripts into the objects... "Link" complete. Tabulating maximum argument passes to each script Finished Writing executable information and resources. Writing modes and settings Writing object switch Writing resource names and maxima Writing events Linking globals Running Secondary Parse Passes Writing object data Writing local accessors Writing font data Writing room data Writing shader data Running make from `mingw32-make.exe' Full command line: mingw32-make.exe Game WORKDIR="C:/ProgramData/ENIGMA/" GMODE=Run GRAPHICS=Direct3D11 AUDIO=None COLLISION=Precise WIDGETS=None NETWORKING=None PLATFORM=Win32 CXXFLAGS="-I../Additional/i686-w64-mingw32/include" COMPILEPATH="Windows/Windows" EXTENSIONS=" Universal_System/Extensions/Alarms Universal_System/Extensions/Timelines Universal_System/Extensions/Paths Universal_System/Extensions/MotionPlanning Universal_System/Extensions/DateTime Universal_System/Extensions/ParticleSystems Universal_System/Extensions/DataStructures" OUTPUTNAME="d:/tmp/egm8583723487621132820.exe" eTCpath="" mingw32-make.exe -C ENIGMAsystem/SHELL mingw32-make.exe[1]: Entering directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL' mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Audio_Systems/None/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Bridges/Win32-Direct3D11/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Widget_Systems/None/ g++ -I../Additional/i686-w64-mingw32/include -IPlatforms/Win32/Info -IGraphics_Systems/Direct3D11/Info -IAudio_Systems/None/Info -ICollision_Systems/Precise/Info -IWidget_Systems/None/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -IC:/ProgramData/ENIGMA/ -Wall -s -O3 -fno-exceptions -MMD -MP -c -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/timelines.o Universal_System/Extensions/Timelines/timelines.cpp g++ -I../Additional/i686-w64-mingw32/include -IPlatforms/Win32/Info -IGraphics_Systems/Direct3D11/Info -IAudio_Systems/None/Info -ICollision_Systems/Precise/Info -IWidget_Systems/None/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -IC:/ProgramData/ENIGMA/ -Wall -s -O3 -fno-exceptions -MMD -MP -c -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/SHELLmain.o SHELLmain.cpp mingw32-make.exe[1]: Leaving directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL' mingw32-make.exe[1]: Entering directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL' mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Audio_Systems/None/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Bridges/Win32-Direct3D11/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Widget_Systems/None/ echo "// GENERATED RESOURCE FILE FRONTEND" > C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.rc for res in Preprocessor_Environment_Editable/Resources.rc; do echo "#include \"$res\"" >> C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.rc; done windres.exe -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.res -I. -IC:/ProgramData/ENIGMA/ C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.rc -O coff g++ -L../Additional/i686-w64-mingw32/lib -static-libgcc -static-libstdc++ -o "d:/tmp/egm8583723487621132820.exe" C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/SHELLmain.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/libEGMstd.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSjoystick.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSmain.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSregistry.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWScallback.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSwindow.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSfilemanip.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSthreads.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSsystem.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSexternals.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11profiler.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11sprite.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11textures.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11colors.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11vertex.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11d3d.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11surface.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11background.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11model.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11shader.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11enable.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11draw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11screen.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11blend.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DIRECTX11Std.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11tiles.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11matrix.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSfont.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSstdraw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSsurface.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GScurves.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSsprite.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSmath.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSbackground.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Audio_Systems/None/fillin.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/PRECimpl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/PRECfuncs.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/placeholderlinks.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Widget_Systems/None/nowidget_impl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/CallbackArrays.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/instance_planar.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/lodepng.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/instance.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/mathnc.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/multifunction_variant.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/highscore_functions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/loading.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/rectpack.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/soundinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/darray.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/callbacks_events.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/bufferstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/transform_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/terminal_io.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/collisions_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/globalupdate.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/move_functions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/reflexive_types.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/planar_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/var4.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fileio.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/lives.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/shaderstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/dynamic_args.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spriteinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/graphics_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/estring.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spritestruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/ENIGMA_GLOBALS.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/resource_data.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/image_formats.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/zlib.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/roomsystem.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/instance_system.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/depth_draw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/var4_lua.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/alarmcode.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/timelines.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/path_functions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/pathinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/pathstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/mp_movement.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/motion_planning.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/motion_planning_struct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/date_time.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_effects.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_emitter.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_attractor.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_actions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_changer.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_updatedraw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_deflector.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_destroyer.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_particles_apiimpl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_sprites.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_type.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_system_apiimpl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_depths.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_system_manager.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_system.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/data_structures.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Bridges/Win32-Direct3D11/graphics_bridge.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.res -lffi -lcomdlg32 -lgdi32 -lwinmm -lwininet -ld3dx11 -lz -ldxgi -ld3d11 -ld3dx11 C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x9c): undefined reference to `enigma_user::d3d_model_create(int)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x14c): undefined reference to `enigma_user::d3d_model_create(int)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x35c): undefined reference to `enigma_user::d3d_model_create(int)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x40c): undefined reference to `enigma_user::d3d_model_create(int)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x919): undefined reference to `enigma_user::d3d_model_create(int)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0xb09): more undefined references to `enigma_user::d3d_model_create(int)' follow C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o:backgroundstruct.cpp:(.text+0xbec): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontstruct.o:fontstruct.cpp:(.text+0xb82): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spritestruct.o:spritestruct.cpp:(.text+0x14f): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)' collect2.exe: error: ld returned 1 exit status mingw32-make.exe[1]: *** [compile_game] Error 1 mingw32-make.exe[1]: Leaving directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL' mingw32-make.exe: *** [Game] Error 2
But that was before, when I removed ENIGMA and re-installed + applied your fix, I get a blank screen on DX9/11. I'm assuming that with your new fix it is meant only to work in OGL1/3 right ?
|
|
« Last Edit: April 21, 2014, 04:53:32 pm by Darkstar2 »
|
Logged
|
|
|
|
TheExDeus
|
|
Reply #17 Posted on: April 21, 2014, 05:14:40 pm |
|
|
Joined: Apr 2008
Posts: 1860
|
BTW, DX11 and DX9 does not work anymore with particles I would get a blank screen but initially before a re-install, I would get this: Yes, sorry, apparently I missed something. I fixed it now. The problem is that I didn't see the error before, because I didn't delete the ProgramData/ENIGMA/ folder. So sometimes changes I make to the code aren't actually showing up, so these kinds of bugs can happen. When I asked for a clean build I got the same error and I fixed it. ( https://github.com/enigma-dev/enigma-dev/commits/particle_fix) But the bug was only in GL1. So GL1 and GL3 should work now. DX9 also works for me in that example and several others. But I have noticed that 3D examples like Minecraft doesn't work in DX9. It just loads for a while (a lot longer than it does in GL) and then doesn't draw anything. But I don't think I did that, because that is something I didn't really touch. I also tried current Master (so unrelated to the changes I did in my branch) and I still don't see anything. Robert should look into that. The slow load might be because of a slower getpixel() call (used in the Minecraft example to create the world), but I cannot explain the lack of drawing.
|
|
|
Logged
|
|
|
|
Darkstar2
|
|
Reply #18 Posted on: April 21, 2014, 05:46:13 pm |
|
|
Joined: Jan 2014
Posts: 1238
|
No changes, still does not work. BTW, OGL1 worked before your recent fix, OGl1 and 3, it is DX9 and DX11 that returned the errors I posted above. DX9/11 still does not work with your particle example: Building for mode (0) Cleaning up from previous executions - Cleared parsed objects - Cleared room entries - Cleared shared locals list - Cleared event info Loading shared locals from extensions list Location in memory of structure: 4e4caf08 Copying resources: Copying sprite names Copying sound names Copying background names Copying path names Copying script names Copying shader names Copying font names [1] Copying timeline names [kidding, these are totally not implemented ] Copying object names [1] Copying room names [1] SYNTAX CHECKING AND PRIMARY PARSING: 0 Scripts: "Linking" scripts `Linking' 0 scripts in 0 passes... Completing script "Link" Done. 1 Objects: obj_0: 12 events: Event[0]: Parsing 1 sub-events: Check `obj_0::create... Done. Parse... Done. Event[8]: Parsing 1 sub-events: Check `obj_0::draw... Done. Parse... Done. Creating room creation code scope and parsing "Linking" scripts into the objects... "Link" complete. Tabulating maximum argument passes to each script Finished Writing executable information and resources. Writing modes and settings Writing object switch Writing resource names and maxima Writing events Linking globals Running Secondary Parse Passes Writing object data Writing local accessors Writing font data Writing room data Writing shader data Running make from `mingw32-make.exe' Full command line: mingw32-make.exe Game WORKDIR="C:/ProgramData/ENIGMA/" GMODE=Run GRAPHICS=Direct3D11 AUDIO=None COLLISION=Precise WIDGETS=None NETWORKING=None PLATFORM=Win32 CXXFLAGS="-I../Additional/i686-w64-mingw32/include" COMPILEPATH="Windows/Windows" EXTENSIONS=" Universal_System/Extensions/Alarms Universal_System/Extensions/Timelines Universal_System/Extensions/Paths Universal_System/Extensions/MotionPlanning Universal_System/Extensions/DateTime Universal_System/Extensions/ParticleSystems Universal_System/Extensions/DataStructures" OUTPUTNAME="d:/tmp/egm197115060577725745.exe" eTCpath="" mingw32-make.exe -C ENIGMAsystem/SHELL mingw32-make.exe[1]: Entering directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL' mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Audio_Systems/None/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Bridges/Win32-Direct3D11/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Widget_Systems/None/ g++ -I../Additional/i686-w64-mingw32/include -IPlatforms/Win32/Info -IGraphics_Systems/Direct3D11/Info -IAudio_Systems/None/Info -ICollision_Systems/Precise/Info -IWidget_Systems/None/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -IC:/ProgramData/ENIGMA/ -Wall -s -O3 -fno-exceptions -MMD -MP -c -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/SHELLmain.o SHELLmain.cpp mingw32-make.exe[1]: Leaving directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL' mingw32-make.exe[1]: Entering directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL' mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Audio_Systems/None/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Bridges/Win32-Direct3D11/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/ mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Widget_Systems/None/ echo "// GENERATED RESOURCE FILE FRONTEND" > C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.rc for res in Preprocessor_Environment_Editable/Resources.rc; do echo "#include \"$res\"" >> C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.rc; done windres.exe -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.res -I. -IC:/ProgramData/ENIGMA/ C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.rc -O coff g++ -L../Additional/i686-w64-mingw32/lib -static-libgcc -static-libstdc++ -o "d:/tmp/egm197115060577725745.exe" C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/SHELLmain.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/libEGMstd.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSjoystick.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSmain.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSregistry.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWScallback.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSwindow.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSfilemanip.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSthreads.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSsystem.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSexternals.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11profiler.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11sprite.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11textures.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11colors.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11vertex.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11d3d.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11surface.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11background.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11model.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11shader.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11enable.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11draw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11screen.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11blend.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DIRECTX11Std.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11tiles.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11matrix.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSfont.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSstdraw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSsurface.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GScurves.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSsprite.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSmath.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSbackground.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Audio_Systems/None/fillin.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/PRECimpl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/PRECfuncs.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/placeholderlinks.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Widget_Systems/None/nowidget_impl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/CallbackArrays.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/instance_planar.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/lodepng.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/instance.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/mathnc.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/multifunction_variant.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/highscore_functions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/loading.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/rectpack.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/soundinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/darray.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/callbacks_events.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/bufferstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/transform_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/terminal_io.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/collisions_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/globalupdate.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/move_functions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/reflexive_types.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/planar_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/var4.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fileio.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/lives.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/shaderstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/dynamic_args.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spriteinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/graphics_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/estring.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spritestruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/ENIGMA_GLOBALS.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/resource_data.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/image_formats.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/zlib.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/roomsystem.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/instance_system.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/depth_draw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/var4_lua.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/alarmcode.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/timelines.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/path_functions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/pathinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/pathstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/mp_movement.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/motion_planning.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/motion_planning_struct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/date_time.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_effects.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_emitter.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_attractor.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_actions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_changer.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_updatedraw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_deflector.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_destroyer.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_particles_apiimpl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_sprites.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_type.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_system_apiimpl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_depths.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_system_manager.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_system.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/data_structures.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Bridges/Win32-Direct3D11/graphics_bridge.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.res -lffi -lcomdlg32 -lgdi32 -lwinmm -lwininet -ld3dx11 -lz -ldxgi -ld3d11 -ld3dx11 C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x9c): undefined reference to `enigma_user::d3d_model_create(int)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x14c): undefined reference to `enigma_user::d3d_model_create(int)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x35c): undefined reference to `enigma_user::d3d_model_create(int)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x40c): undefined reference to `enigma_user::d3d_model_create(int)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x919): undefined reference to `enigma_user::d3d_model_create(int)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0xb09): more undefined references to `enigma_user::d3d_model_create(int)' follow C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o:backgroundstruct.cpp:(.text+0xbec): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontstruct.o:fontstruct.cpp:(.text+0xb82): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spritestruct.o:spritestruct.cpp:(.text+0x14f): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)' collect2.exe: error: ld returned 1 exit status mingw32-make.exe[1]: *** [compile_game] Error 1 mingw32-make.exe[1]: Leaving directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL' mingw32-make.exe: *** [Game] Error 2
|
|
|
Logged
|
|
|
|
|
|
Darkstar2
|
|
Reply #21 Posted on: April 22, 2014, 12:20:59 pm |
|
|
Joined: Jan 2014
Posts: 1238
|
Well DX11 was never finished (or even close to being finished) so it doesn't even have code for basic drawing. So you shouldn't try to use it. But DX9 should work. Try deleting /ProgramDATA/ENIGMA/.eobj folder. So it's a clean build. You can also try Build>Rebuild All, which should technically do the same. When doing a clean build the particle example works for me in DX9. The "undefined reference to" basically means something hasn't been recompiled. If the clean build doesn't work, then try searching for "DX9primitives.o" or any other DX9 .o file it errors about. I had this some time ago, that Windows7 puts files into subfolders and then links them back. So the program finds the files, while the user has an empty directory at that folder. It's some kind of "Security"/Compatibility feature apparently.
Thanks, will try. even though my GPU is DX11 hardware, I use DX9 anyway, I don't see much use for that in ENIGMA made games if specific features are not used for the purpose of the game, but I mentioned DX11 as not working for testing purposes, as before when you applied your first fix, the particles was working fine under DX11. After a recent fix, it broke. More so, it broke for any project, even with particles disabled (extension off), which did not happen before.
|
|
|
Logged
|
|
|
|
|
Goombert
|
|
Reply #23 Posted on: April 22, 2014, 03:29:27 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
Harri, it should be able to compile an empty game and do draw_clear as well as by default clear the background color, it used to, however I am getting undefined references locally.
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o:backgroundstruct.cpp:(.text+0xbec): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o:backgroundstruct.cpp:(.text+0xbec): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontstruct.o:fontstruct.cpp:(.text+0xb82): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontstruct.o:fontstruct.cpp:(.text+0xb82): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spritestruct.o:spritestruct.cpp:(.text+0x14f): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)' C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spritestruct.o:spritestruct.cpp:(.text+0x14f): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'
Looks like I forgot to check if it built after my last image changes for BGRA instead of RGBA.
|
|
« Last Edit: April 22, 2014, 03:34:36 pm by Robert B Colton »
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
TheExDeus
|
|
Reply #24 Posted on: April 22, 2014, 03:32:44 pm |
|
|
Joined: Apr 2008
Posts: 1860
|
So it shouldn't have drawn particles right? Right now I get "graphics_get_texture_pixeldata" which might be because the particle system tries to create a sprite, but DX11 doesn't have this capability right now. So I guess I will commit even these changes, as broken DX11 isn't a tragedy (as it cannot even draw a sprite). At least when you continue to work on it the particle system would work as well.
|
|
|
Logged
|
|
|
|
Goombert
|
|
Reply #25 Posted on: April 22, 2014, 03:34:28 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
After the following 1 line change it works again locally for me. https://github.com/enigma-dev/enigma-dev/pull/700And no don't expect it (D3D11) to draw particles.
|
|
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
Darkstar2
|
|
Reply #26 Posted on: April 22, 2014, 04:35:46 pm |
|
|
Joined: Jan 2014
Posts: 1238
|
Are you 100% sure DX11 worked for you before? Because that system lacks VERY important code to actually run. Even after I did the changes I couldn't compile it because it lacks functions like
Yes I am 100% positive unless I have totally gone crazy You can even see my posts confirming it did. When you made the fix I tried OGl1,OGl3, DX9/11. But after a recent change, DX11 does not even work, regardless of whether particle is used or not, even on blank project. "graphics_get_texture_pixeldata" which is important for the engine. DX11 was never finished as I know, so I don't see how it even ran for you. Maybe even if it did ran, it should of just showed a blank screen.
CRAP I am losing my mind maybe ! LOL! It worked, I know it did Don't ask how, and no it was not a blank screen, I was even surprised that it worked on all DXs. And before this particle fix, I was playing around with ENIGMA just trying things, and for fun compiling things with DX11, and it always compiled and ran fine. Now it does not, and it's not about the particles. Maybe something was automatically reverting to DX9 ? Dunno. I do this only for testing purposes, but in my game I would always use the DX9 system, it's pointless to use DX11 for me. BTW, don't most games still use DX9 anyway ? DX10 in some cases, but rarely full DX11 or any DX11
|
|
« Last Edit: April 22, 2014, 04:37:27 pm by Darkstar2 »
|
Logged
|
|
|
|
Goombert
|
|
Reply #27 Posted on: April 22, 2014, 04:39:20 pm |
|
|
Location: Cappuccino, CA Joined: Jan 2013
Posts: 2993
|
It's theoretically possible it could have ran as I did already write the model code, but there is no texture interface, and the least I get is usually a crash, I haven't worked on it in a while.
|
|
|
Logged
|
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.
|
|
|
|
Darkstar2
|
|
Reply #29 Posted on: April 22, 2014, 05:18:26 pm |
|
|
Joined: Jan 2014
Posts: 1238
|
I even suggest using GL1 or GL3 instead of DX, as most people can run those just fine. Anyway, with all the changes merged DX11 should compile (although without rendering anything just like before). Also Robert will probably update the installer later and all will be good with the world. Or we just broke the whole thing *flips table*.
LOL you should be more confident than that IN worses cases I'm assuming you have back ups to revert to right ?!?!?!? Breaking stuff is part of the whole deal when you work with software, and in ENIGMA's case they get fixed, in YoYo's case they trail on forever and get broken further until they simply get abandoned or removed. When I come back later this evening I will test everything, I seem to be a bug magnet and will let you know if it works on my end. Thanks. P.S. I even suggest using GL1 or GL3 instead of DX, as most people can run those just fine.
Care to elaborate ? BTW, wouldn't a person need GL3 compliant hardware to run GL3 ? I'm assuming most people can run OGL1
|
|
« Last Edit: April 22, 2014, 05:20:37 pm by Darkstar2 »
|
Logged
|
|
|
|
|