Play3D010-Binary

所属分类:OpenGL
开发工具:Visual C++
文件大小:146KB
下载次数:63
上传日期:2008-04-11 08:07:32
上 传 者jeosword
说明:  Play3D is a program to play 3D video files using full-screen quad-buffer OpenGL stereo, or red/blue glasses (anaglyph mode). It should play any format that is supported through DirectShow with an appropriate codec. This includes AVI as well as properly formatted MPEG files. The quad-buffer support will only work on graphics cards that support true OpenGL quad-buffer stereo, for example: * nVidia Quadro 2,3 or 4 * 3Dlabs Wildcat 3/4 * others.. If you don t have quad-buffer stereo, you can still use anaglyph mode, see the command line options for details. There is support for the following movie stereo formats: * Interlaced * Above/Below * Above/Below with 5% separator * Side-by-side The input movie format can be controlled either by command-line switches, or from the keyboard at run time.
(Play3D is a program to play 3D video files using full-screen quad-bufferOpenGL stereo, or red/blue glasses (anaglyph mode). It should play anyformat that is supported through DirectShow with an appropriate codec.This includes AVI as well as properly formatted MPEG files.The quad-buffer support will only work on graphics cards that supporttrue OpenGL quad-buffer stereo, for example:* nVidia Quadro 2,3 or 4* 3Dlabs Wildcat 3/4* others .. If you don t have quad- buffer stereo, you can still use anaglyph mode, see the command line options for details.There is support for the following movie stereo formats:* Interlaced* Above/Below* Above/Below with 5 separator* Side-by-sideThe input movie format can be controlled either by command-line switches, or from the keyboard at run time.)

文件列表:
glut32.dll (221184, 2000-09-29)
Play3D.exe (102400, 2003-08-13)

Play3D Version 0.10, James Ward, University of Hull, UK ======================================================= Overview -------- Play3D is a program to play 3D video files using full-screen quad-buffer OpenGL stereo, or red/blue glasses (anaglyph mode). It should play any format that is supported through DirectShow with an appropriate codec. This includes AVI as well as properly formatted MPEG files. The quad-buffer support will only work on graphics cards that support true OpenGL quad-buffer stereo, for example: * nVidia Quadro 2,3 or 4 * 3Dlabs Wildcat 3/4 * others.. If you don't have quad-buffer stereo, you can still use anaglyph mode, see the command line options for details. There is support for the following movie stereo formats: * Interlaced * Above/Below * Above/Below with 5% separator * Side-by-side The input movie format can be controlled either by command-line switches, or from the keyboard at run time. This program is exactly one year and one day old as I write this, having gone through ten revisions so far.. James Ward, 13th August 2003. Contacts -------- If you are looking for the latest version of this software, or you need some help with a technical problem. I'm happy to answer any reasonable questions that are not addressed in this readme file: Web-site: www.crema.co.uk E-mail : espresso@crema.co.uk License ------- This is free software, you are free to use and distribute the original package provided that: 1. You don't profit from it in any way (for example, please don't include it on some CD or collection that you charge for..) 2. You distribute it whole, including this documentation and giving appropriate credit to the author. 3. Please don't bundle it with commercial hardware or software without seeking permission of the author. You use this software and documentation at your own risk, and I can't accept responsibility for any loss or damage that might result from its use or misuse. I've decided not to release the source code for free, because I've invested a lot of time and effort in development now. If you wish to license the player software for commercial use, please contact the author. Possible options include: * Addition of specific features (by the author) * Improved user interface / GUI (by the author) * Distribution / bundle licensing * Branding * Full source code license Requirements ------------ * Support for DirectShow * The video card and drivers must support OpenGL quad-buffer stereo. * Video frame size must not exceed supported texture size. For example, a 720x480 movie consists of two 720x240 fields, and will require support for two 1024x256 textures (the next power of two on each axis). Most modern graphics cards support very large textures (eg. 2048x2048), so this is unlikely to be a problem. * Note: not all display adapters support adjustable gamma tables. Keyboard -------- H = Help P = Pause/Play R = Rewind to start E = Eye flip (toggle L/R order) F/Enter = Full-screen mode I = Indicators (display L/R indicators) S = Toggle statistics display g/G = Decrease/Increase Display Gamma (not all video cards support this) V = Video format (cycles: interlaced, above/below, side-by-side..) Q/ESC = Quit Command Line Options -------------------- Usage: play3D [options] Where options include: -quad = Display using OpenGL quad-buffer stereo (the default) -anag = Display as red/blue anaglyph -mono = Monoscopic mode, displays left field only -swap = Swap left/right order at startup -ab = Above/Below format video -ab5 = Above/Below format video with 5% separator (black-band) -abc = Above/Below with vertical compression -abc5 = Above/Below with 5% separator and vertical compression -sbs = Side by Side video (eg. made from JPS files) -sbsc = Side by Side with horizontal compression -ilace = Interlaced video (this is the default) -full = Start in full-screen mode -gamma = Set gamma, given floating point value: eg. -gamma 1.5 -lock = Lock initial aspect ratio -aspect = Set aspect ratio (eg. -aspect 16:9 or -aspect 1.234) Examples: To play an interlaced movie in quad-buffer mode: Play3D movie.mpg To play an interlaced movie in anaglyph mode: Play3D movie.mpg -anag Play an above-below formatted movie that has been compressed vertically by 50% with a 5% black border between the images: Play3D movie.mpg -abc5 Play a side-by-side formatted movie that was created from JPS files: Play3D movie.mpg -sbs Navigating through the video with the mouse ------------------------------------------- * Move the mouse pointer to the top of window to view the 'dragger bar'. This shows the current position of the video (light blue) and the time remaining (dark blue). * Moving the mouse left and right across the bar, you will see a small cursor indicating the time in minutes and seconds. Clicking at a point on the bar will seek to that position in the video: you can use this to jump to a particular point in the movie. * Note that seeking can be slow for certain types of video file: wait until the video restarts before clicking again. Possible Problems ----------------- Q. Why does the program exit immediately without playing? A. Possible reasons: * Video file not found * Unsupported video file (check that it can be played with the Windows Media Player first, to ensure that the appropriate codec is installed). Some video files use commercial codecs such as MPEG2 that are not readily available for download. * If your video card does not support quad-buffer stereo, or the option isn't enabled in the display settings, the program will display an error message and resort to mono playback instead. If your card does not support stereo: * Try enabling anaglyph mode from the command line using the option: -anag * Failing that, try using monoscopic mode with this option: -mono This mode is now the default when stereo is not available. This will verify that the movie file can be found, and that the correct codec is installed. Q. Why doesn't the stereo look correct? A. Have you checked that the left/right eye order is correct? Different movie files use different left/right orders in the file, and some shutter glasses do not always display in the correct order. Try switching the order by pressing the 'E' key when playing. You can also display a set of indicators by pressing 'I' (this draws a red band in the GL right buffer, and a blue band in the GL left buffer). This doesn't necessarily match the order of the file however! If the file always appears reversed, you can specify the -swap option from the command-line so that the player starts with the correct order. I've tried to stick to the most common conventions in terms of eye order in the movie files. For example, most above/below 5% movies that I found to download seem to have the right image first (top) of the file, so this is the convention that I use as well. However, there are a few that use the reverse. Q. Why are there double-images, or flickering borders at top or bottom of the image when playing? A. Check that the video input format is correct. You can cycle through the different formats using the 'V' key, or use command-line switches. Look at the movie in media player first: * Above/below = the left+right images appear in the top and bottom of the frame. * Above/below 5% = as above, but usually with a horizontal black border separating the two images. * Interlaced = you can see fine horizontal stripes, because the two frames (left/right) are interleaved in the movie file. * Side by Side = the left+right images appear in the left/right of the frame. Once you have identified the movie format, you can choose the correct command-line switch to select that format. Also, you can cycle through the available options with 'V' until you find the right one, and then use the 'S' status key to find out which format was used. Interlaced Video Notes ---------------------- When encoding interlaced video files, be careful to preserve interlacing. If video is encoded with progressive scan, the video compression can 'blur' the odd and even scan lines together, destroying the stereo effect. Also, use a sufficient bit-rate to maintain the quality of the video file. You will almost certainly achieve better results with above/below or side-by-side formats, which do not suffer from this problem. Dependencies ------------ * The GLUT library can cause problems if you link with one version, and have a different version of the DLL in your search path. For this reason, it's usually safer to put the appropriate version of the GLUT DLL in the working directory with the executable. This version will then be used in preference to the one in the search path (usually in windows system). TODO List --------- TODO: Add zoom option (eg. 50%, 100%, 200%) with command-line control TODO: Option to remove console window TODO: GUI to pick files from player (but retain CLI as well) TODO: Check support for dual-head: if not working, make it work! TODO: GUI for options (to save remembering key shortcuts) TODO: Add support for dual-head overlap and soft-edge blending TODO: Add support for multi-view genlock over two PCs with overlap TODO: Add support for multi-view soft-edge blending over two PCs DONE List --------- DONE: Add command-line option to run full-screen initially DONE: Made pop-up help more visible DONE: Improved handling of case where stereo isn't supported/enabled DONE: Display now updates during resizing DONE: Someone reported problem with DivX 5.0.2 playback, but it appears that DivX 5.0.5 works (and some older versions also), therefore I've closed this issue. DONE: Added command-line option to set initial gamma DONE: Preserve aspect ratio by adding borders (option) DONE: Allow aspect ratio to be specified History ------- The most recent changes appear at the end of this list.. JWW 12/08/02: 001 * First working implementation, based on SampGrabCB example from DirectX SDK, using OpenGL rendering through GLUT. There is no audio support, but full screen playback works. JWW 15/08/02: 002 * Partial rewrite using GraphBuilder (work in progress). JWW 16/08/02: 003 * Completed rewrite using GraphBuilder (audio looked tricky with IMediaDet..) This version uses GraphBuilder to build a video playback graph (automatically inserting all the required decoders, AVI splitters etc.) then replaces the video renderer filter with a sample grabber and null renderer. * This version is able to play video and audio, but audio loses synch. with video sadly.. * I thought problem was caused by OpenGL/GLUT side not being able to render frames quickly enough, so a backlog develops in message queue. However, I've since improved event handling so that this shouldn't be possible (it now drops frames if necessary). However, the problem is still there. * I think the next stage is to ditch GLUT and use MFC instead. I'm not convinced that this will solve the problem though. Another test is to build the same graph in graph edit, and see if the audio sync. is OK (just in case this is some limitation with sample grabber, which isn't really intended for use in continuous video playback - just for grabbing bitmaps/sequences). JWW 16/08/02: 004 * Modified to use buffer callback instead of sample callback, and now it seems to maintain audio synch. OK :) JWW 20/08/02: 005 * Added 'dragger bar' to seek to a position within the video, along with feedback to display time in MM:SS format under mouse pointer. * Added statistics display * Added gamma control: increase and decrease display gamma during playback. Requires support for downloadable gamma tables on video card/driver. Saves and restores existing gamma at start/exit. * Made 'Enter' key switch to full-screen (since ALT+ENTER is familiar from windows media player). * Switched L/R interlace order at startup (to match the video files that I'm using, with left-eye on first scan line). JWW 01/10/02: 006 * Added option to display as Red/Blue anaglyph. Adjusting the gamma can help to improve results. This works in full-colour also. It's now possible to use the stereo player on hardware without stereo support. * Added option to display in monoscopic mode, where only the left image is displayed, therefore you can view a 3D movie in 2D if you want. * Added current display mode to statistics display. * Added command line options to control the features above, and expanded the 'usage' help that gets printed when the parameters are incorrect. * Added '-swap' option to switch left/right views at startup. * Made it possible to flip anaglyph order also. * BUGFIX: fixed program crash when started without an appropriate video codec installed. I never saw this problem, because I had the right codecs on all the PCs that I was developing on.. doh. * Fixed full-screen toggle, so that you can now toggle freely between window and full-screen mode. JWW 03/12/02 * Added support for above/below and side-by-side movie formats. The player now displays: + Interlaced L/R format + Above/Below format + Above/Below format with 5% border between images + Side by Side format (eg. movie created from JPS files) * Work in progress: mono/anaglyph output formats broken JWW 04/12/02 * Fixed mono and anaglyph support * Added keyboard control (V key) to switch video input format * Added popup help window that displays keyboard shortcuts (H key) * Added command-line options to select the various video input formats: -ab = above/below -ab5 = above/below with 5% separator -sbs = side by side -ilace = interlaced JWW 05/12/02 * Forced window redraw when video input format changes (this updates the status display, but the video will only update when playing) * Added scale factor to correct initial window height for 'compressed' above/below video format. * Added command-line options to select compressed above/below format: -abc = above/below compressed -abc5 = above/below compressed with 5% separator * Added program version number to popup help * Checks to see if file exists to give more helpful error message when a video file cannot be opened. JWW 06/12/02: 007 * Added command-line option to loop video playback at end -loop = turn on looping (off by default) * Added keyboard option 'L' to toggle this feature on/off * Modified status display to show whether looping is on/off * Added 'L' key to online help * Added -loop option to command-line help JWW 11/03/03: 008 * Fixed bug: using single %age in strings on command line help (duh!) * Added -full command line option to start in full-screen mode JWW 09/05/03: 008s IN PROGRESS * Added test to see if stereo is supported, so that the program will fall back to monoscopic mode if stereo isn't available * Added blended background rectangle behind help text to try and make it a bit easier to see. * Added error message display in main window. Currently, this is used to inform the user if the stereo mode isn't available. * When window is resized, the display is now updated during the drag. * Added -sbsc option, which denotes side-by-side compressed format. Haven't tested this because I don't have any such files. JWW 13/05/03: 009 * Added command line option '-gamma ' to specify display gamma at startup. This accepts a single floating point parameter. Values are clamped to a sensible minimum/maximum range. * Added command line option '-lock' which locks the aspect ratio by drawing black borders where the window aspect doesn't match the aspect ratio of the video. * Added command line option '-aspect ' which forces a particular aspect ratio to be used (which can differ from that of the video). As with the '-lock' command line option, black borders are added in cases where the window aspect ratio doesn't match the desired ratio. The following formats are accepted: -aspect 16:9 ; ie. two floating point values, separated by ':' -aspect 1.33 ; ie. single floating point value And, if you are mad :) -aspect 12.34:56.78 You aren't allowed spaces, and the aspect ratio is silently clamped to the range (1:16 - 16:1) * Sent beta version out to M.Rochel at this point. JWW 12/08/03: 010 * Fixed a bug with playback of side by side movies in anaglyph mode, which was discovered by Jad Nohra - thanks! This bug was caused by using the original movie width, rather than the output width when rendering the anaglyph view. * Added glFlush prior to swap, documented at length in the source.

近期下载者

相关文件


收藏者