{"id":528,"date":"2019-03-10T19:23:43","date_gmt":"2019-03-10T17:23:43","guid":{"rendered":"http:\/\/www.noxis-studio.com\/blog\/?page_id=528"},"modified":"2019-10-14T23:31:03","modified_gmt":"2019-10-14T21:31:03","slug":"sonix-engine","status":"publish","type":"page","link":"http:\/\/www.noxis-studio.com\/blog\/sonix-engine\/","title":{"rendered":"Sonix Engine"},"content":{"rendered":"<p>[vc_row][vc_column][vc_column_text]<\/p>\n<div class=\"col-1 col-pad\"><\/div>\n<p>[\/vc_column_text][vc_single_image image=&#8221;531&#8243; img_size=&#8221;full&#8221;][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<div class=\"col-1 col-pad\">\n<h3>Overview<\/h3>\n<p>SONIX Engine is a real-time 3D game engine for Microsoft Windows. It is completely written in C++ and designed for DirectX 9.<\/p><\/div>\n<p>[\/vc_column_text][vc_separator][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h3>Features<\/h3>\n<h4>GUI Graph<\/h4>\n<div class=\"indentHalf\">\n<ul>\n<li>GUI system with many controls supported (static texts, buttons, edit controls, windows, scroll bars, layouts &#8230;)<\/li>\n<li>Automatic creation of controls to modify application\/shader parameters<\/li>\n<li>XML theme file referencing the parameters for each control<\/li>\n<li>Serializable in XML<\/li>\n<\/ul>\n<\/div>\n<h4>Scene Graph<\/h4>\n<div class=\"indentHalf\">\n<ul>\n<li>Many nodes supported (different kind of camera nodes, light nodes, material nodes, physic nodes, property nodes, stencil shadow nodes, transform nodes, sound node, switch node &#8230;)<\/li>\n<li>Shadow map generation included<\/li>\n<li>Serializable in XML<\/li>\n<\/ul>\n<\/div>\n<h4>Render view system<\/h4>\n<div class=\"indentHalf\">Render view is a concept that was first described in a gamedev.net forum. It is a tree-based system that allows very easily to make offscreen renderings, post-process effects, rendering to several windows and to create dependencies between the renderings<br \/>\n<a href=\"http:\/\/www.noxis-studio.com\/blog\/render-view-system\/\">More<\/a><\/div>\n<h4>SONIX Editor<\/h4>\n<div class=\"indentHalf\">\n<ul>\n<li>Creates, edits and exports GUI graphs and scene graphs<\/li>\n<li>Node-level editor (low level)<\/li>\n<li>Still in development<\/li>\n<\/ul>\n<\/div>\n<h4>Materials<\/h4>\n<div class=\"indentHalf\">\n<ul>\n<li>Based on Direct3D FX Files<\/li>\n<li>Nearly entirely compatible with DXSAS 0.8 and FX Composer 1.8<\/li>\n<li>State manager in order to optimize state changes<\/li>\n<li>Automatic shader creation or render pass activation according to the context (lights enabled &#8230;)<\/li>\n<\/ul>\n<\/div>\n<h4>File formats supported<\/h4>\n<div class=\"indentHalf\">\n<p>Textures<\/p>\n<div class=\"indentHalf\">\n<ul>\n<li>bmp<\/li>\n<li>dds<\/li>\n<li>dib<\/li>\n<li>hdr<\/li>\n<li>jpg<\/li>\n<li>pfm<\/li>\n<li>png<\/li>\n<li>ppm<\/li>\n<li>tga<\/li>\n<\/ul>\n<\/div>\n<p>Mesh file formats<\/p>\n<div class=\"indentHalf\">\n<ul>\n<li>X files with or without skinning<\/li>\n<li>MD2<\/li>\n<li>BSP<\/li>\n<li>3DS with materials and smoothing groups<\/li>\n<li>OBJ with material (MTL)<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<h4>Physics<\/h4>\n<div class=\"indentHalf\">\n<ul>\n<li>Tokamak physic engine (not completely supported)<\/li>\n<li>Newton game dynamics supported\n<ul>\n<li>integrated in scene nodes<\/li>\n<li>simple primitives, convex hulls and collision tree supported<\/li>\n<li>Joints supported (ball and socket, hinge, slider, up vector, Corkscrew and vehicle)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<h4>Shadowing<\/h4>\n<div class=\"indentHalf\">\n<p>Completely managed by the scene graph<\/p>\n<ul>\n<li>Shadow volume<\/li>\n<li>Shadow mapping<\/li>\n<\/ul>\n<\/div>\n<h4>Visibility culling<\/h4>\n<div class=\"indentHalf\">\n<ul>\n<li>Frustum culling<\/li>\n<li>Occlusion culling<\/li>\n<\/ul>\n<\/div>\n<h4>Input management<\/h4>\n<div class=\"indentHalf\">\n<ul>\n<li>Based on DirectInput<\/li>\n<li>Event based<\/li>\n<li>Custom action mapping system (independant of the device)<\/li>\n<li>wiimote and nunchuck supported using WiiYourself library<\/li>\n<\/ul>\n<\/div>\n<h4>Sound management<\/h4>\n<div class=\"indentHalf\">\n<ul>\n<li>Based on either DirectMusic or DirectShow depending on the media<\/li>\n<li>normal and 3D sound<\/li>\n<\/ul>\n<\/div>\n<h4>Video capture<\/h4>\n<div class=\"indentHalf\">\n<ul>\n<li>Based on DirectShow<\/li>\n<li>captures to uncompressed AVI files or WMV files<\/li>\n<li>Custom codecs will be supported soon<\/li>\n<\/ul>\n<\/div>\n<h4>N3DSE Script engine<\/h4>\n<div class=\"indentHalf\">N3DSE is a dynamic linked library made up of a compiler and a virtual machine. It is not yet completely integrated in SONIX Engine. <a href=\"http:\/\/www.noxis-studio.com\/blog\/n3dse-script-engine\/\">More<\/a><\/div>\n<p>[\/vc_column_text][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text]<\/p>\n<h3>Some videos<\/h3>\n<p>[\/vc_column_text][\/vc_column][\/vc_row][vc_row][vc_column][vc_video link=&#8221;https:\/\/www.youtube.com\/watch?v=wCjaKhYwbeQ&#038;&#8221;][\/vc_column][\/vc_row][vc_row][vc_column][vc_video link=&#8221;https:\/\/www.youtube.com\/watch?v=PLGoDIdrSww&#8221;][\/vc_column][\/vc_row]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[vc_row][vc_column][vc_column_text] [\/vc_column_text][vc_single_image image=&#8221;531&#8243; img_size=&#8221;full&#8221;][\/vc_column][\/vc_row][vc_row][vc_column][vc_column_text] Overview SONIX Engine is a real-time 3D game engine for Microsoft Windows. It is completely written in C++ and designed [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-528","page","type-page","status-publish","hentry"],"acf":{"full_width":false,"header_transparent":false},"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/www.noxis-studio.com\/blog\/wp-json\/wp\/v2\/pages\/528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.noxis-studio.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.noxis-studio.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.noxis-studio.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.noxis-studio.com\/blog\/wp-json\/wp\/v2\/comments?post=528"}],"version-history":[{"count":5,"href":"http:\/\/www.noxis-studio.com\/blog\/wp-json\/wp\/v2\/pages\/528\/revisions"}],"predecessor-version":[{"id":651,"href":"http:\/\/www.noxis-studio.com\/blog\/wp-json\/wp\/v2\/pages\/528\/revisions\/651"}],"wp:attachment":[{"href":"http:\/\/www.noxis-studio.com\/blog\/wp-json\/wp\/v2\/media?parent=528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}