Enter Castle Frankenstein Mac OS

Fenkenstrain's Castle is a castle in Northern Morytania, northeast of Canifis, and north of the Haunted Woods. It is where the events take place in the Creature of Fenkenstrain quest. 1 History 2 Experiment Cave 3 Current events 3.1 Deceased residents It was once the castle of the man named Charos, the human advisor of the vampyre Lord Lowerniel Vergidiyad Drakan. Drakan is the current ruler. CLICK THE LINK BELOW TO DOWNLOAD THE GAMEMore Visit Http://www.UrduItLearning.Info.

view3dscene is a viewer for many 3D model formats: glTF, X3D, VRML, Collada, 3DS, MD3, Wavefront OBJ, STL and (2D) Spine JSON.

Explore the virtual world with collisions, gravity, animations, sensors, shadows, mirrors, shaders and more. You can also convert all models to X3D or VRML.

Support on Patreon
Support us on Patreon

Download also our collection of demo models to test view3dscene!.

Documentation:

  1. Command-line options
  2. Requirements

1. Downloading and installing

No installation is required. Just download and unpack these archives whereveryou want, and run the view3dscene program inside.Included is also the tovrmlx3d program,useful for converting 3D models to VRML/X3D in batch (command-line) mode.The documentation (this web page) is also included inside, for offline viewing(open the documentation/view3dscene.html file).

This is free/open-source software. Developers can download sources of this program.

Demo scenes: ourVRML/X3D demo models contains a lot of interesting models,you can open them all with view3dscene.

Requirements:

  • For Linux: If you want to hear 3D sound in some VRML/X3D worlds, install also OpenAL and OggVorbis (VorbisFile and dependencies) libraries.
  • For Windows: All useful libraries are already included in the archive, so you don't have to do anything.
  • Mac OS X requirements are listed here.

2. Features

  • All the 3D and 2D model formats supported by Castle Game Engine can be opened: X3D, VRML, Collada, 3DS, MD3, Wavefront OBJ, Spine JSON...

  • Various navigation modes are available: Examine (easily rotate and move the whole model), Walk (walk like in FPS games, with collision detection, gravity and related features available), Fly (similar to Walk but without gravity).

  • All model formats can be converted to X3D.

    You can convert between X3D classic and XML encodings (in both directions), and you can convert from VRML 2 to X3D. You can also use view3dscene as a 'pretty-printer', just open and save any VRML/X3D file without any version conversion.

    Command-line options to convert in batch mode (--write) are available in view3dscene. Special minimized binary tovrmlx3d (useful to install on servers without GUI libraries available) is also included in view3dscene archive.

  • A number of Castle Game Engine's rendering features are available, like GLSL shaders, bump mapping and shadows.

  • Built-in ray-tracer (that is also available as a separate command-line program, rayhunter) to generate nice views of the scene (with shadows, mirrors, and transmittance). Classic ray-tracer implements exactly VRML 97 / X3D lighting equations.

  • You can inspect your model (select triangles by clicking right mouse button in Walk / Fly mode, and use menu item Help ->Selected object information).

    There are also very limited editing capabilities. They are intended to be used only as post-processing of some model. We intentionally do not try to implement a full 3D authoring program here.

  • Animations may be played from VRML / X3D files, using sensors, scripts, interpolators and all other VRML events features.

    You can activate VRML pointing-device sensors by clicking with left mouse button (the cursor will change shape and you will get status information when your cursor is over some clickable sensor). Note that this works only when Collision detection is on (as it requires octree).

    You can also play a named animation using menu Animation -> Named Animations.

  • Baked animations can also be played from Castle Animation Frames (castle-anim-frames) format or MD3 files (and you can convert any interactive VRML/X3D animation to a baked one).

  • There are menu items and command-line options to catch screenshots and movies of 3D scenes and animations. GNOME users will be happy to hear that it can also be used as Nautilus thumbnailer, providing thumbnails when you view directory with VRML / X3D and other 3D models. We can also make a special 'screenshot' of 3D environment as a cube map (to DDS, or six separate images).

3. Navigation with keys & mouse

All navigation modes:

  • Left mouse button is used for interacting with the VRML/X3D world. When the cursor turns into a grabbing hand you know you can click or drag on this 3D object. This uses the VRML/X3D pointing-device sensors, and is fully configurable by 3D world authors.

  • Ctrl + Right mouse click picks a point, selecting a triangle and it's containing shape. The selected point / triangle / shape is then used for some operations, like 'Help -> Selected Object Information'.

Examine navigation mode:

Mouse:
RotateLeft mouse dragging
MoveMiddle mouse dragging (or Left mouse + Shift)
ZoomRight mouse dragging (or Left mouse + Ctrl; or scroll wheel)
Keys:
RotateArrows
Stop rotatingSpace
MoveCtrl + Arrows
Scale+ / -

Walk / Fly navigation modes:

Mouse:
Forward / backwardDrag up / down with left mouse button
RotateDrag left / right with left mouse button
Move (strafe) left / rightDrag left / right with right mouse button
Fly up / downDrag up / down with right mouse button
Raise / bow your headMouse wheel
Keys:
Forward / backwardW / S or Up / Down
RotateLeft / Right
Move (strafe) left / rightA / D
Jump / Crouch (or fly up / down)Space / C
RunShift
Turn Mouse LookOn (Ctrl+M) to look around by moving the mouse.
It is usually comfortable to combine it with movement using AWSD keys.
Additional controls:
Increase / decrease moving speed + / -
Increase / decrease avatar height (preferred camera height above the ground)Ctrl + Insert / Delete
Rotate slower (useful to precisely set the camera)Ctrl + Left / Right

We also support 3D mouse devices,see the demo video about 3D mouse insideview3dscene.

There are many more operations with key shortcuts, that work in allnavigation modes.Just explore the view3dscene menu, and look at the key shortcuts.

4. Command-line options

All options described below may be given in any order.They all are optional.

4.1. Capturing screenshots and movies of 3D scenes and animations

Command-line options:

These options allow you to capture a screenshot of the loaded scene.They know about animations stored in 3D files, that'swhy they take parameters describing the animation time to capture.They are used to take screenshots in 'batch mode'.(In interactive mode, you can use comfortablemenu items Display -> Screenshot....)

For a still 3D scene, you usually just want to use the simpler--screenshot option with TIMEset to anything (like zero) and not worry about anything else.

For animations, more possibilities are available. You can captureany frames of the animation by using many --screenshot options.You can also capture a movie by --screenshot-range(as a series of images or, ifffmpeg is installed andavailable on $PATH, even directly to a single movie file).The biggest advantage of recording movie this wayis that the movie is guaranteed to be captured with stable numberof frames per second. This is different than usingsome independent programs to capture OpenGL output, likethe fine GLC(nice GLC overview here),as real-time capture usually means that the programruns slower, and often you loose movie quality.

You most definitely want to pass 3D model file to loadat command-line too, otherwise we'll just make a screenshotof the default empty (black) scene. So to take a simple screenshotof a scene, at it's default camera, just call

The detailed specification how screenshot options work:

  • First of all, after all the --screenshot and --screenshot-range options are processed, view3dscene exits. So they work in 'batch mode'.

  • The --screenshot TIME FILE-NAME simply saves the screenshot at time TIME to an image file FILE-NAME.

    Image format is guessed from FILE-NAME extension, see castle-view-image for detailed list of image formats that we can handle. In short, we handle many popular image formats, like PNG and JPG, and these are what usually you want to use.

  • The --screenshot-range TIME-BEGIN TIME-STEP FRAMES-COUNT FILE-NAME option takes FRAMES-COUNT screenshots. The first screenshot is at time TIME-BEGIN, second screenshot is at TIME-BEGIN + TIME-STEP, next one is at TIME-BEGIN + 2 * TIME-STEP... you get the idea.

    The FILE-NAME is either

    1. A movie filename. This must have a recognized movie MIME type (for local files, MIME type is just recognized from extension), this includes:

      • video/x-msvideo (.avi)
      • video/mpeg (.mpeg, .mpg, .mpe)
      • video/ogg (.ogv)
      • video/quicktime (.mov)
      • video/x-flv (.flv)
      • application/x-shockwave-flash (.swf, .swfl)
      • video/mp4 (.mp4)

      Please report if we miss some MIME type (and file extension) above, it's trivially easy to add all formats supported by ffmpeg. Availability of all these video formats may depend on installed ffmpeg codecs.

      ffmpeg must be installed and available on $PATH for this to work.

    2. FILE-NAME may also be a pattern to generate names of images to save, like @counter(4).png. Details about using filename patterns are below (although you can probably already guess how it works :) ).

  • All filenames for both screenshot options may specify a pattern instead of an actual filename. A pattern is simply a filename with macro @counter(<padding>) inside, when capturing @counter(4) will be replaced by the current screenshot number (padded with zeros to 4 digits). For capturing a series of images by --screenshot-range it's even required to specify a pattern with @counter(<padding>) (since capturing a number of images to a single image file has no point...). But it's also allowed in all other cases, even a movie filename may also be a pattern with @counter(<padding>) sequence, in case you want to use multiple --screenshot-range options to get multiple auto-named movies.

    The precise description how @counter(<padding>) works: All --screenshot and --screenshot-range options are processed in order. When a filename with pattern @counter(<padding>) is found, we replace all @counter(<padding>) occurrences in this filename with current counter value and increment the counter. For --screenshot-range with an image pattern, we do this for every single frame. The counter starts at 1.

    The parameter of @counter(<padding>) is the padding. For example, @counter(1) results in names like 1, 2, ..., 9, 10... while @counter(4) results in names like 0001, 0002, ..., 0009, 0010, ...

  • Add --screenshot-transparent option to have a transparent image, with transparent pixels in place where background color would be visible.

Examples:

  • Simply get a single screenshot at given time:

  • Simply get a movie of 2 seconds of animation. To calculate the numbers, note that we generate a movie with 25 frames per second:

    To get this as a sequence of images, just use [email protected](4).png instead of output.avi.

  • Example of more complicated use:

    This generates two files: output1.avi with 2 second animation from 0.0 to 2.0 time, and output2.avi with 2 second animation from 10.0 to 12.0 time.

Hints:

  • To control the look of your screenshot, you often want to use VRML/X3D nodes like Viewpoint, NavigationInfo, Background. For example, take a look at this sample VRML file.

    You can use --viewpoint command-line option (see below) to choose a different viewpoint for screenshot.

  • You can generate wanted Viewpoint node also by using view3dscene, just set your camera (in interactive mode) the way you like and use menu item Console -> Print Current Camera Node.

  • To control the size of resulting screenshot, just use --geometry command-line parameter (documented at standard options understood by our OpenGL programs). For example, take a look at mk_screenshot_for_kambi_www.sh script.

  • To make your screenshot look best, you may want to use anti-aliasing, see --anti-alias option below.

    Take a look at the example how to make a screenshot from animation in screenshot_for_kambi_www/ directory.

  • To take a screenshot on a stripped-down Unix server, please bear in mind that you need to install a graphic environment (that is, X Windows and OpenGL) on your server. Even in batch mode, we still use OpenGL to grab the screenshot images (because using off-screen Mesa or our toy ray-tracer doesn't result in a really nice output; we really want OpenGL for all those GLSL effects and such).

    Normally, you also need GTK libraries installed. However, you can compile from sources a version of view3dscene that doesn't need these libraries, and directly accesses XWindows. It will miss a menu bar and some other nice GUI stuff, but that's not a problem if you only want to run it in batch mode for screenshots. To do this:

    1. Download the sources of castle_game_engine and view3dscene. Unpack them, such that castle_game_engine/ and view3dscene/ directories are siblings.
    2. In the terminal, do

    On a server, you probably want to initialize taking a screenshot from a script, and your script isn't necessarily running within the X server. There are basically two solutions to this:

    1. You can keep the X server running continuously, and keep your user logged in to the X server, and instruct view3dscene to connect to your running X server. You do this by adding --display=:0 option to the view3dscene command-line (where :0 is a common example; for details, see X manuals). Or you can set and export the DISPLAY environment variable, like export DISPLAY=:0.

      Unfortunately, this method sometimes doesn't work. On some systems, the view3dscene will get an OpenGL context without a FrameBuffer (long story short, it means that you cannot capture the screen without actually seeing the window) and the resulting screenshot will be pure black (or garbage). On other systems, there is a problem with glXChooseVisual that may hang until you actually switch the current terminal to the X server.

    2. The other approach, more reliable in my experience (please share your own experience on the forum) is to create new X server along with running view3dscene, by using xinit. See man xinit for full details, in short use something like xinit /full/path/to/view3dscene my_model.x3d --screenshot 0 /tmp/output.png -- :1. The important thing is to specify the full path of the view3dscene binary (otherwise xinit only adds the arguments to some useless default xterm command-line). Adding -- :1 at the end is only necessary if the default display (:0) may be already taken. xinit will create an X server with new display name, run view3dscene, and exit immediately when view3dscene exits (which should be as soon as a screenshot is done).

4.2. Converting to VRML/X3D

In interactive mode, you can use view3dscene menu itemsFile -> Save As.. to save (converting if needed) all 3D modelformats to VRML/X3D.

Enter Castle Frankenstein Mac Os 11

  • Formats glTF 2.0, Collada, Spine JSON, 3DS, MD3, Wavefront OBJ and GEO are always converted to X3D.

  • Formats Inventor, VRML 1.0, VRML 2.0, X3D can be saved back to their original format. In this case, view3dscene is simply a 'pretty-printer', exactly preserving all the information inside the file, only reformatting your content and removing the comments.

  • VRML 2.0 can be also converted to X3D.

    Conversion from VRML 2.0 to X3D is mostly trivial. There are some different keywords between VRML 2 and X3D, but generally X3D is simply a superset of everything that VRML 2 has. The only slightly more involved conversion is done for NURBS nodes (NurbsCurve, NurbsSurface in VRML 2, NurbsPatchSurface in X3D, NurbsPositionInterpolator) as these nodes are not compatible between VRML 2 and X3D.

You can also change the X3D encoding (from classic to XML or the other wayaround). Changing encoding is a lossless operation,as the same nodes graph can be exactly expressed in both encodings.

All these conversions can be also performed in batch modeby command-line options described below. You can either use view3dscene with --writeoption, or you can use separate binary tovrmlx3d.Separate tovrmlx3d may be sometimes more desirable,as it's smaller, not linked with any GUI libraries (so it will workeven on a stripped-down system) and has simpler command-line options(as it's purpose is only to convert).

Examples:

Detailed docs of view3dscene command-line options for converting:

Enter Castle Frankenstein Mac Os Download

--write

Do not open any window, only write the 3D model to the standard output as VRML/X3D and exit. Other --write-xxx options affect the generated output. Model will also be processed by --scene-change-* options, if specified (see their docs lower on this page).

--write-encoding classic xml

Choose encoding of the output file. By default, we use classic encoding.

This option is meaningful only when --write option is also used.

--write-force-x3d

Force output to be an X3D file. This is really useful only when input model is VRML 2.0.

Conversion to X3D is also automatically forced (no need to specify it explicitly by this option) if the chosen encoding is XML (that is, you used --write-encoding=xml). That's because only X3D supports XML encoding.

Summarizing, you only need to use this option when you want to convert VRML 2 to X3D in classic encoding.

When this is used on VRML 1.0 or Inventor models, we'll also convert parts of them to X3D. But the result is not really useful: you will get a file encoded using X3D keywords, but using VRML 1.0/Inventor node names. Real conversion from VRML 1.0/Inventor to X3D is not implemented (yet).

This has no effect when used on 3D models that are already X3D, or that can be only output as X3D (Collada, 3DS, etc.).

This option is meaningful only when --write option is also used.

Enter Castle Frankenstein Mac OS

tovrmlx3d has analogous options for converting,but without the write- prefix (as tovrmlx3dis only useful for converting). More precisely:

  • tovrmlx3d always reads input 3D model (from filename given on a command-line), and outputs it on standard output as VRML/X3D.
  • --encoding=classic xml instructs to use given encoding. See --write-encoding=classic xml docs above.
  • --force-x3d instructs to force X3D conversion. See --write-force-x3d docs above.

4.3. Other options

--hide-menu

Hide the top menubar. Useful for full-screen presentations.

--anti-alias AMOUNT

Use full-screen anti-aliasing. You can also configure it from the menu File -> Startup Preferences -> Anti aliasing. Using this command-line option is mainly useful together with --screenshot option.

Argument AMOUNT is an integer >= 0. Exact 0 means 'no anti-aliasing', this is the default. Each successive integer generally makes method one step better. But also more demanding — program may run slower (if your graphic card cannot provide context with sufficient number of samples needed for multi-sampling). See Anti aliasing in interactive mode for the meaning of AMOUNT values. Currently, highest value is 4. So AMOUNT numbers above 4 are exactly the same as 4.

There is no guarantee what specific values of AMOUNT exactly mean, as this depends on your graphic card capabilities. The graphic cards themselves don't provide methods to reliably set some specific FSAA method (only hints, like glHint(GL_MULTISAMPLE_FILTER_HINT_NV, ...)) since the general idea is that better GPU models may provide the same or even better results using different methods. From your (user) point of view, you can test each method and just decide which looks best and isn't too slow on your 3D model and graphic card.

--viewpoint VIEWPOINT-NAME

Specifies the name or a number of the viewpoint that will be bound (used) when the scene is loaded.

By default, when this option is not used, we follow VRML/X3D standard and use the first viewpoint found in the file (but not in the inlined files). Of course you can always add nodes to the scene to trigger binding other viewpoints at the beginning (for example, add ProximitySensor with very large size that sends the enter event to the set_bind of chosen viewpoint). Or you can just exchange the order of viewpoint nodes. But sometimes it's not comfortable to edit the scene. Especially if you want to use the --screenshot options to capture a scene, it's useful to be able to choose a viewpoint by this command-line option.

If you use this option: when the given VIEWPOINT-NAME is a number, it is treated as the index of viewpoint to be used (0 means the first viewpoint, 1 means the 2nd viewpoint and so on). Otherwise, VIEWPOINT-NAME is treated as a node name (node name is given by 'DEF Xxx' in VRML/X3D, and it cannot start with a digit, so this is unambigous).

In interactive mode, remember that you don't need this option — instead you can use comfortable Navigation -> Viewpoints menu.

As usual allstandard options understood by OpenGL programs,standard options understood by OpenAL (3D sound) programs,standard options understood by all my programs are also allowed. Run with command-line --help to get full list.

4.4. Deprecated options

--scene-change-no-normals
--scene-change-no-solid-objects
--scene-change-no-convex-faces

Using one of these options changes the scene before it is displayed (or saved to VRML/X3D, if you used --write option). These options are useful when you suspect that some of the informations in scene file are incorrect.

These options change only the scene which filename was specified at command-line. Later scenes (that you open using 'Open' menu item) are not affected by these options. Instead, you can use 'Edit' menu commands to perform any of these scene changes at any time. Really, these command-line options are usable mostly when you're using parameter --write.

Below is the detailed description of what each scene change does. This is also a documentation what corresponding command in 'Edit' menu of view3dscene does.

  • --scene-change-no-normals :

    Scene change: Clear normal and normalIndex fields, remove Normal and VRML 1.0 NormalBinding nodes.

    Effect: view3dscene will always calculate by itself normal vectors. Useful when you suspect that normals recorded in scene file are incorrect (incorrectly oriented, incorrectly smoothed etc.)

  • --scene-change-no-solid-objects :

    Scene change: For VRML 1.0, in all ShapeHints nodes we will set shapeType to UNKNOWN_SHAPE_TYPE. UNKNOWN_SHAPE_TYPE is the default value of this field, so the purpose of this modification is to cancel SOLID values for this field. For VRML >= 2.0, all solid fields are set to FALSE (on all geometric nodes, like IndexedFaceSet, actually all X3DComposedGeometryNode, Extrusion, etc.).

    Effect: program will not use back-face culling optimization. This optimization often saves us time because we don't have to render faces that would be seen from 'inside' if these faces are part of some solid object. Unfortunately, many VRML models have objects incorrectly marked as solid. There are also some scenes that were prepared for some special viewing (e.g. as game levels) and so some amount of 'cheating' to optimize these scenes was allowed, e.g. to mark some non-solid objects as solid.

    To view such models properly you have to tell view3dscene (using this command-line option) that such objects are not really solid.

  • --scene-change-no-convex-faces :

    Scene change: For VRML 1.0, in all ShapeHints nodes we will set faceType to UNKNOWN_FACE_TYPE. Moreover we will wrap whole scene in Group node and we will add at the beginning node For VRML >= 2.0, all convex fields are set to FALSE.

    Effect: All IndexedFaceSet and Extrusion faces will be treated as potentially non-convex. This means that we will load the scene a little longer but all faces will be correctly interpreted and displayed. It's useful when you suspect that some scene faces are non-convex but it's not correctly marked in the scene by VRML author.

Example: I have here some model helicopter.wrl that looks incorrectly when it is displayed because all parts of model are marked as SOLID while they are not solid. So to view this model correctly I can use command
view3dscene --scene-change-no-solid-objects helicopter.wrl
I can also correct this model once using command
view3dscene --scene-change-no-solid-objects helicopter.wrl --write > helicopter-corrected.wrl.

Deprecated: I don't think the --scene-change-* options are useful. Doing this operation interactively is sometimes useful (to check bad models), doing it from command-line probably not (you better fix your exporter). Please report if you have a good reason to keep this working.

--camera-radius <float>

When you move in the scene with collision detection, the 'user' is treated as a colliding sphere with given radius. Default radius of this sphere is the average size of scene bounding box divided by 100. Using this command-line option, you can set the radius of this sphere to any value (greater than 0). This can be very useful, but be careful: too large radius will make moving (with collision detection turned on) impossible (because every possible move will produce a collision). Too little radius may produce precision-errors in depth-buffer (this can lead to some strange display artifacts).

Deprecated: instead of using this option, consider adding/editing a NavigationInfo node in your scene (camera radius is taken from the first float on NavigationInfo.avatarSize). Editing your scene (or creating a VRML/X3D file that includes the original scene, by Inline node, and only adds some customization) is much more flexible.

--navigation EXAMINE WALK FLY NONE...

Set initial navigation type. Default is EXAMINE. This can be overridden in particular VRML/X3D scene by using the NavigationInfo node. Valid values for this option are the navigation type names for VRML/X3D NavigationInfo.type, see link above.

You can always change navigation mode later, while the program is running: use the menu Navigation.

Deprecated: instead of using this option, consider adding/editing a NavigationInfo node in your scene. Editing your scene (or creating a VRML/X3D file that includes the original scene, by Inline node, and only adds some customization) is much more flexible.

5. Requirements

  • OpenGL
  • Libpng, Zlib (under Windows appropriate DLL files are already included in program's archive, so you don't have to do anything)
  • Under Unix (Linux, FreeBSD, Mac OS X): GTK+ >= 2.6
  • OpenAL and OggVorbis (VorbisFile and dependencies) libraries are strongly suggested if you want to hear sound (under Windows appropriate DLL files are already included in program's archive, so you don't have to do anything)
  • Mac OS X users should look at the list of dependencies on Mac OS X

Enter Castle Frankenstein Mac Os 11

To play movies (in VRML/X3D MovieTexture nodes) andto record movies (by --screenshot-range option)you have to install ffmpegand make sure it's available on $PATH.

Castle Frankenstein Darmstadt

  • Linux and FreeBSD users should find ffmpeg package suitable for their distribution.
  • Windows users can install FFmpeg Windows Builds. Remember to add bin/ directory to your $PATH after unpacking.
  • Mac OS X users can install ffmpeg using HomeBrew, MacPorts or Fink.

Also convert program fromImageMagickpackage must be available on $PATH for some miscellaneous image formats to work.See castle-view-image documentation for a list of image formats handled.

5.1. How to see the console on Mac OS X

view3dscene uses a standard OS consolefor some stuff (e.g. for Console -> Print Current Camera...). You will not see thisconsole if you run the program using the bundle (by double-clicking on the appin Finder, or in dock...).

Castle Frankenstein Germany

To see the console output, run view3dscene from terminal: