Awesome, it seems there is hardware acceleration for the clothing solver, particles and fluids on most modern NVIDIA GPUs. Would be cool to see some SPH.
Exactly Sir @jvcleave, the PhysX 3.3.3 running on Tegra k1, right now Iām trying to cross compile from linux to Android, I am having some problems with the compiler of ndk9d but is solvable, short news updates.
Yes Sir @amnon , I am also very excited about the new future.
regarding the Smoothed particle hydrodynamics-personally Iāve always had a soft spot for fluid dynamics, I always try alone to write something without good results, now with physx changes everything, I hope to pack a examples of SPH.
I have some examples on the repository of 3D fluid but the cast is processed in CPU.
Do you intend to turn these tests into an ofxAddon eventually? If so, I hope it will include support for windows/codeblocks. And a step-by-step on making it work, I suppose one needs to register and get the SDK (source) or something? Anyway, looking forward to trying this some day. Very promising. Keep up the good work!
@amnon for the moment is a study phase of the sdk,
just have a good familiarity with it I provide to package ofxaddons and test on most operating systems.
are under linux; but do not use codeblocks, in any case I think the editor codeblocks
to its system for linking external libraries (probably very simple).
However, to be clear on how to properly link an external library like the new PhysxNvidia then you can refer to config.make of one of the examples:
as can be seen from the example config.make above the folder there is another folder called āphysxNVā here I quote what you need for a compilation of physx 3.3.3:
includes
lib
lib
bin
careful to use the correct link for the operating system.
Iām on a debian 64 bit then in config.make find links to:
Lib/linux64
lib/linux64
Bin/linux64
etcā¦
Referring to your question, the answer is yes!
but there are some fundamental differences between 3.3.3 and 3.3.2
Now my Physx3.3.2 correspond to physxNV folder but
when i compile the make file it return those errors:
-o obj/linux64/Release/externals/glew/src/glew.o -c externals/glew/src/glew.c
cc1: warning: command line option ā-Wno-invalid-offsetofā is valid for C++/ObjC++ but not for C [enabled by default]
cc1: warning: command line option ā-frttiā is valid for C++/ObjC++ but not for C [enabled by default]
cc1: warning: command line option ā-fvisibility-inlines-hiddenā is valid for C++/ObjC++ but not for C [enabled by default]
In file included from ./externals/glew/include/GL/glew.h:198:0,
from externals/glew/src/glew.c:32:
./externals/clang/3.3.2/linux32/lib/clang/3.3/include/stddef.h:29:42: error: missing binary operator before token "("
#if !defined(_PTRDIFF_T) || __has_feature(modules)
^
./externals/clang/3.3.2/linux32/lib/clang/3.3/include/stddef.h:37:39: error: missing binary operator before token "("
#if !defined(_SIZE_T) || __has_feature(modules)
^
...
In file included from ./externals/glew/include/GL/glew.h:199:0,
from externals/glew/src/glew.c:32:
./externals/clang/3.3.2/linux32/lib/clang/3.3/include/stdint.h:32:54: error: missing binary operator before token "("
defined(__has_include_next) && __has_include_next(<stdint.h>)
^
./externals/clang/3.3.2/linux32/lib/clang/3.3/include/stdint.h:187:0: warning: "__int_least32_t" redefined [enabled by default]
# define __int_least32_t int32_t
./externals/clang/3.3.2/linux32/lib/clang/3.3/include/stdint.h:114:0: note: this is the location of the previous definition
# define __uint_least32_t uint64_t
...
^
./externals/clang/3.3.2/linux32/lib/clang/3.3/include/stdint.h:486:0: note: this is the location of the previous definition
# define __INT_LEAST16_MAX INT64_MAX
^
./externals/clang/3.3.2/linux32/lib/clang/3.3/include/stdint.h:580:0: note: this is the location of the previous definition
# define __INT_LEAST8_MAX INT32_MAX
^
./externals/clang/3.3.2/linux32/lib/clang/3.3/include/stdint.h:622:0: warning: "__UINT_LEAST8_MAX" redefined [enabled
^
In file included from externals/glew/src/glew.c:32:0:
./externals/glew/include/GL/glew.h:1603:1: error: unknown type name āptrdiff_tā
typedef ptrdiff_t GLsizeiptr;
...
^
In file included from ./externals/glew/include/GL/glxew.h:94:0,
from externals/glew/src/glew.c:36:
/usr/include/X11/Xlib.h:1116:5: error: unknown type name āwchar_tā
wchar_t *chars;
^
/usr/include/X11/Xlib.h:1275:2: error: unknown type name āwchar_tā
wchar_t *wide_char;
^
...
wchar_t** list
^
/usr/include/X11/Xutil.h:789:5: error: unknown type name āwchar_tā
wchar_t*** list_return,
^
externals/glew/src/glew.c: In function āglxewGetExtensionā:
externals/glew/src/glew.c:8845:26: warning: the comparison will always evaluate as āfalseā for the address of āglXGetClientStringā will never be NULL [-Waddress]
if (glXGetClientString == NULL || glXGetCurrentDisplay == NULL) return GL_FALSE;
If i undertood, it compile in C and we need C++,
but i have g++ installed !?. may be i need something like g+±mingw-w64 deb ?
In file included from /usr/include/X11/Xlib.h:44:0,
from /usr/include/GL/glx.h:30,
from ../../../libs/openFrameworks/utils/ofConstants.h:180,
from ../../../libs/openFrameworks/ofMain.h:5,
from src/main.cpp:1:
../physxNV/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:46:4: error: expected identifier before numeric constant
None, // the filter setting to kill all events
^
../physxNV/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:46:4: error: expected ā}ā before numeric constant
../physxNV/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:46:4: error: expected unqualified-id before numeric constant
In file included from ../physxNV/Include/PxPhysicsAPI.h:90:0,
from src/xphysx.h:1,
from src/main.cpp:3:
../physxNV/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:57:50: error: āEventPrioritiesā has not been declared
struct EventPriority { static const PxU32 val = EventPriorities::Medium; };
^
../physxNV/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:37:44: error: āEventPrioritiesā has not been declared
#define PX_PROFILE_EVENT_PROFILE_THRESHOLD EventPriorities::Medium
^
../physxNV/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:63:59: note: in expansion of macro āPX_PROFILE_EVENT_PROFILE_THRESHOLDā
static const bool val = EventPriority<TEventId>::val <= PX_PROFILE_EVENT_PROFILE_THRESHOLD;
^
../physxNV/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:66:2: error: expected declaration before ā}ā token
}}
ps: stilll have linker mistake somewhere, because iāve also to rewrite some headers path (extensions/, common/, pxtask/) located in Include folder:
Now errors seems coming from PxProfileCompileTimeEventFilter.h:
In file included from /usr/include/X1complete some headers paths
1/Xlib.h:44:0,
from /usr/include/GL/glx.h:30,
from ../../../libs/openFrameworks/utils/ofConstants.h:180,
from ../../../libs/openFrameworks/ofMain.h:5,
from src/main.cpp:1:
../PhysXSDK/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:29:4: error: expected identifier before numeric constant
None, // the filter setting to kill all events
^
../PhysXSDK/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:29:4: error: expected ā}ā before numeric constant
../PhysXSDK/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:29:4: error: expected unqualified-id before numeric constant
In file included from ../PhysXSDK/Include/PxPhysicsAPI.h:73:0,
from src/xphysx.h:1,
from src/main.cpp:3:
../PhysXSDK/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:40:50: error: āEventPrioritiesā has not been declared
struct EventPriority { static const PxU32 val = EventPriorities::Medium; };
^
../PhysXSDK/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:20:44: error: āEventPrioritiesā has not been declared
#define PX_PROFILE_EVENT_PROFILE_THRESHOLD EventPriorities::Medium
^
../PhysXSDK/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:46:59: note: in expansion of macro āPX_PROFILE_EVENT_PROFILE_THRESHOLDā
static const bool val = EventPriority<TEventId>::val <= PX_PROFILE_EVENT_PROFILE_THRESHOLD;
^
../PhysXSDK/Include/physxprofilesdk/PxProfileCompileTimeEventFilter.h:49:2: error: expected declaration before ā}ā token
}}
Do i miss a step in sdk install,
i donāt need to put sdk headers or lib in /usr/ ?
/usr/local/OF-9.7/apps/.../PxPreprocessor.h:326:$error: #error Exactly one of NDEBUG and _DEBUG needs to be defined by preprocessor
error Exactly one of NDEBUG and _DEBUG needs to be defined by preprocessor ...
expected '}' before numeric constant PxPRofileCompileEventFileter.h
'EventProperties' has not been declared PxProfileCompileventFilter.h
ā¦I didnāt change the config.make, whereās thereās some definitions: