Documentation/Getting Started

From NeoAxis 3D Engine Wiki

Jump to: navigation, search
Go to higher level


Overview SDK

After you install the SDK, we recommend you to start by running the application ConfiguratorIcon.jpg Configurator (Configurator.exe). You can configure the basic settings of the engine in this utility, for example to switch language of tools. Also the utility serves as a starting point for launching applications Toolkit.

Basic Applications of SDK

  • ConfiguratorIcon.jpg Configurator allows to configure general settings of the engine, and also it's a starting point for toolkit applications. You can select language, configure general settings for graphics, physics, sound in the application.
  • DemoIcon.jpg Game.exe is a NeoAxis 3D Engine demo and the skeleton of your future project at the same time. The application is a framework for the development of the project.
  • ResourceEditorIcon.jpg Resource Editor is a tool for managing resources of your project. It includes configuration of 3D models, textures, materials, physical models, objects, project logic, configuration of user interfaces, and more.
  • MapEditorIcon.jpg Map Editor is a tool for creation worlds of your project. The tool is an integrated complex editor for managing objects on the map.

Example Applications

  • UtilitiesIcon.jpg WinForms Application Example (WinFormsAppExample.exe) - an example of integration in the Windows Forms application.
  • UtilitiesIcon.jpg WinForms Multi View Application Example (WinFormsMultiViewAppExample.exe) - an example of integration in the Windows Forms application demonstrating multiple 3D views.
  • UtilitiesIcon.jpg WPF Application Example (WPFAppExample.exe) - an example of the integration engine to a WPF application with networking support.
  • UtilitiesIcon.jpg WPF Simple Application Example (WPFSimpleExample.exe) - a simple example of the integration engine to a WPF application.
  • UtilitiesIcon.jpg ChatExample.exe is an example implementation of network chat.

Additional Applications

  • UtilitiesIcon.jpg DedicatedServer.exe is an application for creating a dedicated server.
  • DeploymentToolIcon.jpg Deployment Tool allows you to create a final version of your application for a specific platform. The tool is useful for automating the preparation of the final product.
  • UtilitiesIcon.jpg Shader Cache Compiler is a tool for optimizing the loading speed of the engine. The tool precompiles shader programs. The best time to launch this tool when the loading time of your project becomes too long.
Main menu of Game.exe

SDK Folders Structure

  • Components — Additional components and extensions of the engine.
  • Project — Project's folder.
    • Bin — The executable files of the programmes, included in the Toolkit and sample application Game.exe.
      • Components — Сonfiguration files of the additional component of the engine.
      • Data — Folder with resources of the project. All the content of the project is placed here.
      • — Files for running on Mac OS X.
      • NativeDlls — Internal native libraries.
      • UserSettings — Different user settings, temporary files, logs applications.
    • Src — Source code of the demo, which also will be the framework of your project.
  • SDK — Folder with additional utilities.
    • Docs — API reference.
    • Tools — Additional utilities.
      • Exporters — Tools for exporting models from 3D modeling packages.
        • 3dsMax — Exporter for Autodesk 3dsMax.
        • Maya — Exporter for Autodesk Maya.
      • Fonts — Utilities for the preparation of the fonts.
      • Video — Utilities for the preparation of the video.
        • ffmpeg2theora — Utility for converting video to Ogg Theora.

Programming in NeoAxis

Based on .NET API. API of the engine based on .NET. C# is the programming language. Supported .NET 4.0 and higher.

Support for C/C++ and other languages. It is possible to connect a library on C/C++ or any other programming language.

framework for fast and logical start. SDK includes the application Game.exe, that is both engine demo and the skeleton of your future project. The application is quick and logical framework for project development. It includes a system menu, boot control cards, input devices, examples of different types of projects, maps, and more. Using this framework, the developer does not waste time on creating a basic application structure and immediately goes to managing the project objectives.

Development Environment

Programming in NeoAxis 3D Engine requires .NET based on development environment. The following are supported:

If you are a beginner, we recommend to start with Microsoft Visual Studio (Express Edition).

Source Code SDK Overview

FreeEdition.sln is in the folder with the installed SDK. Open it in the development environment.

You can see the list of available projects:

  • ChatExample — Example of a network chat implementation based on Windows Forms.
  • DedicatedServer — Application for creating a dedicated server.
  • ExampleAddonCreationMEAddon — Example of creating a map editor extension.
  • ExampleAddonCreationREAddon — Example of creating an extension for resource editor.
  • Game — Application entry point. Initialization of the engine classes to implement the project structure, navigation of the game screens and user interaction.
  • ProjectCommon — Common classes of project, such as a description of the types of materials, network services project, the engine console class, custom GUI classes.
  • ProjectEntities — Source code of the project classes.
  • ProjectEntities.Editor — Source code of the project's class, which is only needed for the editor.
  • WinFormsAppExample — Example of the engine's integration to Windows Forms application.
  • WinFormsMultiViewAppExample — example of an application with multiple 3D views based on Windows Forms.
  • WPFAppExample — example of the engine's integration to a WPF application.

ProjectCommon, ProjectEntities and Game are the main projects.

We recommend you to use demo as the skeleton for your project.
Remove all the code for the demo and rewrite is not the best idea. 

Development of the project looks like a gradual expansion and change the available code in the SDK. When you have more experience, you can remove unnecessary code in the future.

Scripting Maps

In addition to the basic method of coding, there is a possibility of scripting maps. Map Editor includes a special Logic Editor, which is created to add special behavior of objects on the map. The editor allows you to add code to C#, attach reaction to events and more.

What's Next?