John Schultz

Members
  • Content count

    951
  • Joined

  • Last visited

Community Reputation

811 Good

About John Schultz

  • Rank
    Advanced Member
  1. Amazing Curves Racing (Simulation)

    New build uploaded- check it out; all feedback appreciated! Get the new installer here: [url="http://www.brightland.com"]http://www.brightland.com[/url] Thanks, John
  2. Amazing Curves Racing (Simulation)

    Here's a [b]Formula Test[/b] showing the[b] Turbo Reset[/b] feature. After crashing, press the assigned reset button or key to immediately reset on the track at 100 MPH. It's a great feature for online play which solves the problem of crashers ([b]Turbo Resets[/b] can be limited as well as timed before allowing it to be used again). [media]http://youtu.be/HmVcE50RChM?hd=1[/media]
  3. [img]http://brightland.com/r/Home_files/shapeimage_2.jpg[/img] I'd love to hear what racing simulation fans think of [i][b]Amazing Curves Racing[/b][/i]. The project goal is to create a high quality, physically accurate online simulation that is also easy to set up and play. Simple graphics, advanced physics and high-quality online multiplayer interaction. The business model is a low-cost subscription service (coupon for free access below). The cars range from high performance V8 sports cars to ultra high performance Formula with very stiff suspensions and high downforce. The tire physics interact directly on cubic 3D curved surfaces which provide a unique, high-quality simulation feel. I created this simulation in my spare time over the past few years (solo project). Get it here: [url="http://www.brightland.com"]http://www.brightland.com[/url] ( coupon code required to get free access: [font="Helvetica, Verdana, sans-serif"]A5B481976F )[/font] I'll post how-to videos shortly.
  4. Concept: get a copy of the MediaSample and modify the (effective presentation) time as needed. Either create your own filter or try using ISampleGrabber, then modify the MediaTime with IMediaSample::SetMediaTime() (add 2 seconds). You can get more help here: http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=129&SiteID=1.
  5. E8 - Latest Theory of Everything

    E8 - Latest Theory of Everything (ToE). Lots of math, lots of debate, interesting stuff: http://www.physicsforums.com/showthread.php?t=196498 http://deferentialgeometry.org/ http://www.telegraph.co.uk/earth/main.jhtml?xml=/earth/2007/11/14/scisurf114.xml Presented by media as "Surfer dude stuns physicists with theory of everything" (A. Garrett Lisi) Whatever the outcome, a nice boost for theoretical physics and mathematics.
  6. Cutscenes with DirectShow

    Try using the VMR9Allocator example. See my post here: http://www.gamedev.net/community/forums/topic.asp?topic_id=469199&whichpage=1
  7. Looking for DirectX code that plays video

    Install the latest Microsoft Platform SDK. See: <PlatformSDK>\Samples\Multimedia\DirectShow\VMR9\VMR9Allocator It uses a combination of DirectShow and DirectX. Since the video is rendered to a texture, you can also place video in 3D games. For intro video (2D), use an orthographic projection instead of a perspective projection. See also: http://msdn2.microsoft.com/en-us/library/ms867211.aspx For specific help with DirectShow: DirectShow Forum on MSDN.
  8. It's possible to compute resting contact (including stacked objects) using Sequential Impulses and without using the "big matrix" form. For example, a single cube in resting contact with the ground (4 contacts). After integration, a downward momentum will be present on the next time step. For each contact: 1) apply an impulse to the rigid body to zero the momentum at the contact point, 2) update the RB's momentum. Repeat for the remaining 3 points. Since the momentum is updated at each step, no energy will be gained. Allow a very small amount of interpenetration and translate position only when the threshold is exceeded. Also see Erin Catto's Box2D demo, with source. I haven't tested the latest version; the prior version was a pretty good demo (sequential impulses, split impulses). IIRC Danny Chapman also had a sequential impulse demo, with source. I use an unusual deformed tetrahedral kinetic energy correcting system (rigid stacking, no iterating)), but have also tested basic sequential impulse systems: they are relatively easy to set up and understand. Sequential Impulses thread on Bullet Forum. Note: I currently do not use my weighted impulse method as noted in the thread: the newer tetrahedral deformation system works fine.
  9. Fourier Transforms For Dummies

    Mastering the Fourier Transform in One Day.
  10. I like to play mp3 from buffer with directx

    Windows has a default MP3 decoder built in, along with web streaming support, so you could do the following: hr = pGraph->RenderFile(L"http://example.microsoft.com/song.mp3",0); See RenderFile(). Yes, you can use ISampleGrabber to access and process PCM Data. I copied elements from qedit.h into my own code which uses DX9 elements to solve compiler issues: // === BEGIN ELEMENTS FROM QEDIT.H === //#include <qedit.h> // From http://msdn2.microsoft.com/en-us/library/ms786691.aspx: // Include Qedit.h. This header file is not compatible with Microsoft Direct3D headers later than version 7. // Since we are using DX9, we cannot include this header. Necessary API elements, copied below. EXTERN_C const CLSID CLSID_SampleGrabber; EXTERN_C const CLSID CLSID_NullRenderer; EXTERN_C const IID IID_ISampleGrabberCB; MIDL_INTERFACE("0579154A-2B53-4994-B0D0-E773148EFF85") ISampleGrabberCB : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE SampleCB( double SampleTime,IMediaSample *pSample) = 0; virtual HRESULT STDMETHODCALLTYPE BufferCB( double SampleTime,BYTE *pBuffer,long BufferLen) = 0; }; EXTERN_C const IID IID_ISampleGrabber; MIDL_INTERFACE("6B652FFF-11FE-4fce-92AD-0266B5D7C78F") ISampleGrabber : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE SetOneShot( BOOL OneShot) = 0; virtual HRESULT STDMETHODCALLTYPE SetMediaType( const AM_MEDIA_TYPE *pType) = 0; virtual HRESULT STDMETHODCALLTYPE GetConnectedMediaType( AM_MEDIA_TYPE *pType) = 0; virtual HRESULT STDMETHODCALLTYPE SetBufferSamples( BOOL BufferThem) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentBuffer( /* [out][in] */ long *pBufferSize,/* [out] */ long *pBuffer) = 0; virtual HRESULT STDMETHODCALLTYPE GetCurrentSample( /* [retval][out] */ IMediaSample **ppSample) = 0; virtual HRESULT STDMETHODCALLTYPE SetCallback( ISampleGrabberCB *pCallback,long WhichMethodToCallback) = 0; }; // === END ELEMENTS FROM QEDIT.H === You may find the following links helpful: http://tmhare.mvps.org/ http://www.gdcl.co.uk/tech.htm (Geraint Davies' site, original DirectShow architect. http://www.mcaleely.com/freeware/DXMFilter/ (may take some time to make work with latest versions of VS, see DirectShow forum for help). http://www.medialooks.com/ (commercial product, has filter Wizards, replaces DirectShow BaseClasses with template system). There are many ways you can approach a solution, some are faster than others, some will provide more flexibility later on (but will take much more time to implement).
  11. I like to play mp3 from buffer with directx

    When using DirectShow, use CComPtr<> (and CComQIPtr<> when appropriate), it will save you time and trouble as your code becomes more complicated. With DirectShow you can create a custom stream reader and/or custom source filter to feed the stream to your filter graph. You can also create a transform filter to get access to the decoded PCM data before being sent to the audio renderer (DirectSound). This path is complicated and will take some time to implement correctly. To get DirectShow specific help: DirectShow Forum. If your project can use LAME (ok with license issues), you can fairly easily decode MP3 streams from disk, memory (network) and send PCM data to a DirectShow filter graph (must create a custom source filter), or you can feed the stream to DirectSound (must create a threaded system to feed the hardware and keep synchronized (not trivial)). Use OGG libraries to decode OGG to PCM. See PortAudio and RtAudio for examples of streaming/mixing DirectSound in real-time. If your project is free/personal use, you could use FMOD for free (indie/small project is $100). You could be up and running with FMOD in a few minutes (including streaming MP3, OGG, DSP effects, etc.).
  12. Really realistic autosim on PhysX

    The hardest part of creating a car simulation is, by far, simulating the tires. You can make a decent first pass using a "box" for the chassis (with proper mass+inertia tensor WRT engine and tires) and raycast for the wheels/tires, tested on a flat plane or simple terrain. If you can make such a simulation reasonably accurate to simulate a real car, improving the wheel/tire collision method is relatively easy.
  13. DirectSound or DirectMusic?

    While using DirectSound and custom streaming code will give you most control (recommended if you have the time/resources), you could use something like FMOD and have it working in few minutes (supports OGG, very easy to use API). Also see PortAudio and RtAudio libraries to see what it takes to reliably stream/mix audio with DirectSound (the DirectSound examples need a lot of work to make robust).
  14. What ever happened to Squirrel?

    Quote:Original post by consolejoker The reason it wasn't posted in bugs is because technically it is not part of the official Squirrel. I post it there though if you think that will make a difference. Like aeyr on the forum, I did not use the debugger very often, and have been able to use custom prints to my custom debug console when debugging Squirrel scripts. However, I agree that fixing the print() issue would make the Sq debugger more useful. Try posting it in Bugs. If Alberto has time, perhaps he can provide a fix, or at least a clue how to fix it. When I first used Squirrel I liked the language a lot, but there wasn't a template binding system, so...
  15. What ever happened to Squirrel?

    Quote:Original post by consolejoker The bug I describe exists on Eclipse both on Win32 and Linux. There is a whole thread about it on the Squirrel forums, I can go dig it up, its from a long time ago. http://squirrel-lang.org/forums/thread/1401.aspx Try posting in the Bugs forum (AOT the Language Forum).