Okay! Psychotrope is finally ready for testing and general consumption! Please install it from here:
http://apparentlythisispossible.com/PsychotropeSetupper.msi
and then also grab this zip file, and unzip the ‘trope’ directory in it to your c:/ drive (yeah, directly into the C drive)
http://apparentlythisispossible.com/trope.zip
So that you have something like this:
c:\trope\
c:\trope\alpha\
c:\trope\beta\
…etc. There will be a bunch of files in each. If you don’t unzip the resource files, the viz will just crash wmp. So unzip!!!
After this, play some music in Windows Media Player (hereafter wmp) and switch to the ‘Psychotrope’ visualisations, and take a look at alpha, beta, etc. The first 8 or so will have presets that will look interesting when music is playing. This should work perfectly on XP and Vista, in WMP 10 OR 11, and on NVidia, ATI, and even ultra-crap Intel GMA cards. They need to be pixel shader 2 or better(so, Directx9.0 or better), which basically means any graphics card purchased in the last 4 years or so. Please send me reports of machines that do and don’t work.
Ultra-tiny users guide:
Alpha is currently the sort of ‘teaching’ vis. This shows you (most of) the information that the psychotrope engine pushes through. Just crack open the .fx files and mess around with them. Beta and Charlie are pretty cool lookin’ for single-file effects, (*I* think) and you can see how the post-processing effects work with Delta and Echo.
The post-processing happens in 1post.fx and 2post.fx. Delta has a totally rad fractal feedback effect, and Echo has the classic warp feedback effect that’s been done to death everywhere.
Really, really quickly, because I’ll make a larger doc later:
Each directory in ‘trope’ is the source material for one ‘trip’. I don’t use the term ‘preset’ because there aren’t any effects in the engine that you’d be choosing settings for.
Each ‘trip’ consists of a set of several ‘movers.’ Each ‘mover’ is 1 group of files, consisting of a 3d model, several textures, and a pair of .fx files that specify the High Level Shader Language code to tell the graphics card what to do with all of this, and which variables to accept from the psychotrope engine. One ‘fx’ file for how to draw the model, another for the post-processing effect. Each model gets a chance at post-processing, and they have access to the current state of the video buffer as well as the final version of the previous frame.
The data that psychotrope pushes to global memory in the video card consists of the following:
float4×4 g_mWorld : WORLD; // World matrix for objectfloat4×4 g_mProjection : PROJECTION; // Projection matrix for objectfloat4×4 g_mWorldView : WORLDVIEW; // World view matrix for object
float4×4 g_mWorldViewProjection : WORLDVIEWPROJECTION; // World * View * Projection matrix
float g_time;// from (float)timeGetTime();
float3 g_eye;
float g_fft[64];
float g_dampedfft[64];
float g_integratedfft[64];
float g_scope[64];
float g_entropy;… as well as the 4 textures (3 ordinary and one cube envmap), and the previous frame’s texture gets sent to the post.fx files.Basically the easiest way to mess around with them is to copy one of the existing ‘trips’ to a dir and then edit it, like makefiles. If you’ve got RenderMonkey or FXComposer set up so that you can check the grammar of your .fx files as you edit, then that’s really handy. I spew out a bunch of logging to the c:\trope\logfile.txt , you look in there for HLSL compilation errors from D3D, but it’s clumsy.
I’ll open up the forums on this site so that people can talk to each other about how incredibly obtuse this all is.
Here are some pics:




