MBM Documentation Release 3.1.F

Total Page:16

File Type:pdf, Size:1020Kb

MBM Documentation Release 3.1.F MBM Documentation Release 3.1.f Michel Jul 03, 2021 Contents: 1 Mbm Engine 3 1.1 Another Game Engine!..........................................3 1.2 Which version should I get?.......................................4 1.3 Looking for binary?...........................................4 1.4 Main Libraries And Status........................................4 1.5 Games made with mbm.........................................5 1.6 Quick start guide.............................................7 2 Scene 35 2.1 Main Scene’s flow............................................ 35 2.2 Scene’s functions............................................. 36 2.3 Example of Scene............................................ 38 2.4 Example of Scene class style....................................... 39 2.5 Example of Scene using coroutine.................................... 40 3 Table mbm 45 3.1 World................................................... 46 3.2 mbm................................................... 54 3.3 Texture.................................................. 69 3.4 Shader.................................................. 73 3.5 Miniz................................................... 77 3.6 Aes.................................................... 78 3.7 Useful.................................................. 79 3.8 Android.................................................. 84 4 Table camera 87 4.1 Camera 2D methods........................................... 87 4.2 Camera 2D attributes........................................... 90 4.3 Camera 3D methods........................................... 91 4.4 Camera 3D attributes........................................... 96 4.5 User data acknowledgment........................................ 97 5 Table font 99 5.1 font methods............................................... 99 5.2 font methods with editor features.................................... 102 5.3 Creating a font programmatically.................................... 105 i 6 Table gif 109 6.1 gif methods................................................ 109 7 Table line 113 7.1 line methods............................................... 113 7.2 line shader................................................ 119 8 Table mesh 123 8.1 mesh methods.............................................. 123 8.2 Creating a mesh programmatically.................................... 124 8.3 Importing mesh.............................................. 130 9 Table meshDebug 133 9.1 Primitive options............................................. 133 9.2 static methods.............................................. 137 9.3 meshDebug methods........................................... 139 10 Table particle 169 10.1 particle methods............................................. 169 10.2 particle attributes............................................. 186 10.3 Creating particle programmatically................................... 187 10.4 Saving particle to a binary file...................................... 190 11 Table render2texture 193 11.1 render2texture methods......................................... 193 12 Table renderizable 203 12.1 Renderizable methods.......................................... 203 12.2 Blending................................................. 213 12.3 Animation................................................ 216 12.4 Physics.................................................. 224 12.5 Renderizable attributes.......................................... 225 12.6 User data acknowledgment........................................ 227 13 Table shader 231 13.1 shader methods.............................................. 231 13.2 pixel shader................................................ 252 13.3 vertex shader............................................... 304 14 Table shape 307 14.1 shape methods.............................................. 307 15 Table sprite 317 15.1 sprite methods.............................................. 317 15.2 Creating a sprite programmatically................................... 318 16 Table text 331 16.1 text methods............................................... 331 16.2 text attributes............................................... 333 16.3 Creating a text programmatically.................................... 333 17 Table texture 335 17.1 texture methods............................................. 335 17.2 Creating a texture programmatically................................... 336 ii 18 Table tile 339 18.1 tile map definitions............................................ 339 18.2 tile methods............................................... 341 18.3 tile object................................................. 351 19 Table timer 353 19.1 timer callback signature......................................... 353 19.2 timer methods.............................................. 353 19.3 timer attributes.............................................. 357 19.4 User data acknowledgment........................................ 357 20 Table vec2 359 20.1 vec2 methods............................................... 359 20.2 vec2 attributes.............................................. 370 20.3 User data acknowledgment........................................ 370 21 Table vec3 373 21.1 vec3 methods............................................... 373 21.2 vec3 attributes.............................................. 383 21.3 User data acknowledgment........................................ 383 22 Table audio 385 22.1 audio Methods.............................................. 385 23 Editors 389 23.1 File Format................................................ 389 23.2 Sprite Maker............................................... 389 23.3 Font Maker................................................ 390 23.4 Particle Editor.............................................. 395 23.5 Physic Editor............................................... 396 23.6 Shader Editor............................................... 399 23.7 Scene Editor............................................... 400 23.8 Asset Packager.............................................. 406 23.9 Tile Map Editor............................................. 406 23.10 Texture Packer Editor.......................................... 409 24 Modules 413 24.1 What is a Module?............................................ 413 24.2 Parsing OBJ wavefront.......................................... 414 25 Module box2d 421 25.1 box2d Methods.............................................. 422 25.2 box2d Body............................................... 436 25.3 box2d Joint................................................ 458 26 Module ImGui 499 26.1 Begin / End methods........................................... 499 26.2 Calc methods............................................... 512 26.3 Capture methods............................................. 513 26.4 Color methods.............................................. 514 26.5 CreateContext.............................................. 516 26.6 DestroyContext.............................................. 516 26.7 Flag / Enum............................................... 516 26.8 General methods............................................. 525 26.9 Get methods............................................... 527 iii 26.10 ImDrawList................................................ 542 26.11 Is methods................................................ 563 26.12 Save / Load methods........................................... 574 26.13 Log methods............................................... 575 26.14 NewFrame / EndFrame.......................................... 577 26.15 Open / Close methods.......................................... 577 26.16 Pop methods............................................... 578 26.17 Push methods............................................... 580 26.18 Render.................................................. 583 26.19 Set methods............................................... 583 26.20 Show methods.............................................. 594 26.21 Style methods.............................................. 596 26.22 Text methods............................................... 602 26.23 Widgets.................................................. 603 27 Module lsqlite3 651 27.1 Asset................................................... 651 27.2 Editor................................................... 656 27.3 Examples................................................. 656 28 Indices and tables 659 Index 661 iv MBM Documentation, Release 3.1.f Table of Contents • Mbm Engine – Another Game Engine! – Which version should I get? – Looking for binary? – Main Libraries And Status – Games made with mbm * Tower defense * Space ship combat * Puzzle from photos – Quick start guide * Getting the source code * Build for Windows * Binary for Windows * Build for Linux * Build for Android * Binary for Android * Command line usage Contents: 1 MBM Documentation, Release 3.1.f 2 Contents: CHAPTER 1 Mbm Engine MBM is a given name to a graphics engine which provides basic and essential resources to develop games or graphics applications 2D or 3D. For now, is possible to develop games for Windows , Linux , and Android . The intention is to provide the minimum necessary for game development or graphics application using minimal dependencies. The engine is written in C++11 language using OpenGL-ES on its core and LUA as a scripting language. Note: Although there is an effort to migrate the whole project to C++11 still there is a lot of mixedC code and maybe is not the best
Recommended publications
  • Free White Noise Mp3 Download
    free white noise mp3 download Software Downloads for "White Noise Mp3" If you have ever been in a situation while using your computer where the background noise in the room makes it impossible to work then White Noise Player is a very useful too. White Noise Player will play any .wav file on your computer you choose on a continuous loop cycle from your system tray. This allows you to choose any sound you like from simple white nose to a relaxing rainfall and at the same time, reduce the noise you hear that may distract you from your work.. Platform: Windows Publisher: Sardine Software Date: 25-03-2005 Size: 632 KB. Generate white noise from your computer speakers. White noise is usually used as a sleep or relaxation aid. The software can be set to start and stop at specified times during the day.. Platform: WinOther Publisher: Sobolsoft Date: 03-11-2012 Size: 5140 KB. The white noise is a combination of all frecuencies. The program generate white noise using randn and create a group of filters for the musical notes. The melody is introduced in a matrix. Platform: Matlab, Scripts Publisher: Francisco Canto Date: 20-03-2013 Size: 10 KB. Recommended as a miracle for better sleep! Features ambient sounds of the environment that will help you relax during the day and sleep great at night. Download White Noise Lite for FREE. Do you have trouble going to sleep? Are you traveling on a plane and need a quick power nap? Does your newborn baby wake up in the middle of the night? There are numerous benefits to using White Noise : **Helps you sleep by blocking distractions **Relaxes and reduces stress **Pacifies fussy and crying babies **Increases focus while enhancing privacy **Soothes headaches and migraines **Masks tinnitus (ringing of the ears) Even when youa*re asleep, your brain is constantly scanning and listening for sounds.
    [Show full text]
  • Ministério Da Defesa Exército Brasileiro Departamento De Ciência E Tecnologia Instituto Militar De Engenharia Curso De Mestrado Em Sistemas E Computação
    MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA CURSO DE MESTRADO EM SISTEMAS E COMPUTAÇÃO ROBERTSON SCHITCOSKI UMA ARQUITETURA MODULAR PARA SISTEMAS DE TREINAMENTO MILITAR EM OPERAÇÕES TÁTICAS Rio de Janeiro 2009 Livros Grátis http://www.livrosgratis.com.br Milhares de livros grátis para download. INSTITUTO MILITAR DE ENGENHARIA ROBERTSON SCHITCOSKI UMA ARQUITETURA MODULAR PARA SISTEMAS DE TREINAMENTO MILITAR EM OPERAÇÕES TÁTICAS Dissertação de Mestrado apresentada ao Curso de Mestrado em Sistemas e Computação do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Sistemas e Computação. Orientador: Prof. Jauvane C. de Oliveira – Ph.D. Co-orientador: Prof. Paulo F. F. Rosa – Ph.D. Rio de Janeiro 2009 1 c2009 INSTITUTO MILITAR DE ENGENHARIA Praça General Tibúrcio, 80 – Praia Vermelha Rio de Janeiro - RJ CEP: 22290-270 Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar qualquer forma de arquivamento. É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem finalidade comercial e que seja feita a referência bibliográfica completa. Os conceitos expressos neste trabalho são de responsabilidade do autor e dos orientadores. S337u Schitcoski, R. Uma Arquitetura Modular para Sistemas de Treinamento Militar em Operações Táticas / Robertson Schitcoski – Rio de Janeiro: Instituto Militar de Engenharia, 2009. 104 p.:il. Dissertação (mestrado) – Instituto Militar de Engenharia – Rio de Janeiro, 2009.
    [Show full text]
  • Using Open Source and Commercial Visualization Packages for Analysis and Visualization of Large Simulation Dataset
    Using open source and commercial visualization packages for analysis and visualization of large simulation dataset Simon Su, Werner Benger, William Sherman, Eliot Feibush, Curtis Hillegas Princeton University, Louisiana State University, Indiana University, Princeton Plasma Physics Laboratory, Princeton University [email protected], [email protected], [email protected], [email protected], [email protected] Abstract visualization software toolkits that have the capability to analyze and visualize large simulation datasets. The Scientists today are generating more data than ever. In software toolkits provide the domain scientists the any high performance computing center, analyzing and capability to visualize large dataset at an interactive rate visualizing large amounts of simulation data are and at different stages of the modeling and simulation becoming more and more challenging. Therefore, high research. When the visualization pipeline is established, performance computing centers will not only need to domain scientists will be able to visualize their data within manage their high performance computational resources, minutes of the completion of their simulation on the but also develop state of the art data analysis and supercomputer. Some simulation algorithms will generate visualization capabilities. Simulation data will also need output in stages and the domain scientists will be able to to be generated and visualized on the same storage use the established visualization pipeline to start analyzing hardware because transferring the simulated data after and verifying the accuracy of the model before the the simulation for analysis and visualization is no longer completion of the simulation. They can stop the feasible due to the size of the data generated. simulation if the results are not what they would expect to The scientific visualization community has been find instead of wasting their resource allocation on the developing visualization software with the capability to supercomputer.
    [Show full text]
  • Tesis De Grado
    UNIVERSIDAD MAYOR DE SAN ANDRES FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMATICA TESIS DE GRADO RECONOCIMIENTO DE GESTOS PARA LA INTERACCIÓN POR COMPUTADOR, CON REALIDAD AUMENTADA. PARA OPTAR AL TÍTULO DE LICENCIATURA EN INFORMÁTICA MENCIÓN: INGENIERÍA EN SISTEMAS INFORMÁTICOS POSTULANTE: MARISOL QUISPE ADUVIRI TUTOR METODOLÓGICO : M.Sc. JORGE H. TERAN POMIER ASESOR: LIC. ROBERTO VARGAS BLACUTT La Paz – Bolivia 2013 I UNIVERSIDAD MAYOR DE SAN ANDRÉS FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMÁTICA LA CARRERA DE INFORMÁTICA DE LA FACULTAD DE CIENCIAS PURAS Y NATURALES PERTENECIENTE A LA UNIVERSIDAD MAYOR DE SAN ANDRÉS AUTORIZA EL USO DE LA INFORMACIÓN CONTENIDA EN ESTE DOCUMENTO SI LOS PROPÓSITOS SON ESTRICTAMENTE ACADÉMICOS. LICENCIA DE USO El usuario está autorizado a: a) visualizar el documento mediante el uso de un ordenador o dispositivo móvil. b) copiar, almacenar o imprimir si ha de ser de uso exclusivamente personal y privado. c) copiar textualmente parte(s) de su contenido mencionando la fuente y/o haciendo la referencia correspondiente respetando normas de redacción e investigación. El usuario no puede publicar, distribuir o realizar emisión o exhibición alguna de este material, sin la autorización correspondiente. TODOS LOS DERECHOS RESERVADOS. EL USO NO AUTORIZADO DE LOS CONTENIDOS PUBLICADOS EN ESTE SITIO DERIVARA EN EL INICIO DE ACCIONES LEGALES CONTEMPLADOS EN LA LEY DE DERECHOS DE AUTOR. Dedicatoria: A mis padres Regina y Andrés, quienes me brindaron apoyo incondicional y comprensión en el transcurso de mi formación como profesional. II AGRADECIMIENTOS Debo dar las gracias a mi revisor del proyecto, Lic. Roberto Vargas Blacutt y a mi tutor M.Sc.
    [Show full text]
  • 2010-120 Vrjuggler Configuration을 이용한 가상현실 환경의 설정.Pdf1
    ISBN 978-89-6211-601-4 VRJuggler Configuration을 이용한 가상현실 환경의 설정 허 영 주 ([email protected]) 한 국 과 학 기 술 정 보 연 구 원 Korea Institute of Science & Technology Information 목차 1. 서론 ······························································································· 1 2. VRJuggler 설치방법 ·································································· 2 가. VRJuggler 설치에 필요한 패키지 ···················································· 2 1) Doozer ······································································································· 2 2) Boost ········································································································· 2 3) CppDom ···································································································· 2 4) Scons ········································································································· 3 5) GMTL (Generic Math Template Library) ····································· 3 나. VRJuggler 설치 ···················································································· 4 다. 환경 변수 설정 ····················································································· 4 라. 설치시 발생할 수 있는 문제 ····························································· 5 3. VRJuggler Configuration ·························································· 7 가. 개요 ········································································································· 7 나. 입력 디바이스 설정 ·············································································
    [Show full text]
  • Ministério Da Defesa Exército Brasileiro Departamento De Ciência E Tecnologia Instituto Militar De Engenharia Curso De Mestrado Em Sistemas E Computação
    MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA CURSO DE MESTRADO EM SISTEMAS E COMPUTAÇÃO ROBERTSON SCHITCOSKI UMA ARQUITETURA MODULAR PARA SISTEMAS DE TREINAMENTO MILITAR EM OPERAÇÕES TÁTICAS Rio de Janeiro 2009 INSTITUTO MILITAR DE ENGENHARIA ROBERTSON SCHITCOSKI UMA ARQUITETURA MODULAR PARA SISTEMAS DE TREINAMENTO MILITAR EM OPERAÇÕES TÁTICAS Dissertação de Mestrado apresentada ao Curso de Mestrado em Sistemas e Computação do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Sistemas e Computação. Orientador: Prof. Jauvane C. de Oliveira – Ph.D. Co-orientador: Prof. Paulo F. F. Rosa – Ph.D. Rio de Janeiro 2009 1 c2009 INSTITUTO MILITAR DE ENGENHARIA Praça General Tibúrcio, 80 – Praia Vermelha Rio de Janeiro - RJ CEP: 22290-270 Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar qualquer forma de arquivamento. É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem finalidade comercial e que seja feita a referência bibliográfica completa. Os conceitos expressos neste trabalho são de responsabilidade do autor e dos orientadores. S337u Schitcoski, R. Uma Arquitetura Modular para Sistemas de Treinamento Militar em Operações Táticas / Robertson Schitcoski – Rio de Janeiro: Instituto Militar de Engenharia, 2009. 104 p.:il. Dissertação (mestrado) – Instituto Militar de Engenharia – Rio de Janeiro, 2009. 1. Operações táticas – Treinamento militar. 2. Formação militar.
    [Show full text]
  • Python Multimedia Beginner's Guide
    Python Multimedia Beginner's Guide Learn how to develop multimedia applications using Python with this practical step-by-step guide Ninad Sathaye BIRMINGHAM - MUMBAI x x Python Multimedia Beginner's Guide Copyright © 2010 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: August 2010 Production Reference: 1060810 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-849510-16-5 www.packtpub.com Cover Image by Ed Maclean ([email protected]) x x Credits Author Editorial Team Leader Ninad Sathaye Aanchal Kumar Reviewers Project Team Leader Maurice HT Ling Priya Mukherji Daniel Waterworth Sivan Greenberg Project Coordinator Prasad Rai Acquisition Editor Steven Wilding Proofreader Lynda Sliwoski Development Editor Eleanor Duffy Graphics Geetanjali Sawant Technical Editor Charumathi Sankaran Production Coordinators Shantanu Zagade Indexers Aparna Bhagat Hemangini Bari Tejal Daruwale Cover Work Aparna Bhagat x x About the Author Ninad Sathaye ([email protected]) has more than six years of experience in software design and development.
    [Show full text]
  • Dynamic Soundscape Composition in Game Contexts
    DYNAMIC SOUNDSCAPE COMPOSITION IN GAME CONTEXTS by DURVAL NUNO SIMÕES PIRES BSc, University of Coimbra 2012 A DISSERTATION Submitted in partial fulfillment of the requirements for the degree of MASTER OF INFORMATICS ENGINEERING Department of Informatics Engineering Faculty of Sciences and Technology UNIVERSITY OF COIMBRA Portugal 2012/2013 Supervised by: Licínio Roque Abstract Most sound design techniques and tools used today were adopted from linear mediums, proving insufficient to cope with the dynamic nature of videogames. Moreover, Middleware tools, which are an alternative to deal with this challenge, can be out of range for indie developers, due to their price and required know-how. In this dissertation, we propose a Dynamic Soundscape Composition system, which aims to enhance soundscapes experienced during gameplay, by means of a holistic approach to Sound Design. The system implements soundscape composition techniques that follow principles from Acoustic Ecology, specifically, the notion of healthy soundscape. This composition module is supported by a set of composition techniques which attempt to deal with the dynamic nature of the medium. Also, the module composes the soundscape in a dynamic fashion, by following the designer‟s intentions defined in the game code by a new API, also presented in this work. The system provides designers the chance to characterize the soundscape by means of this accessible and intuitive API. This API empowers designers by allowing intentions for sound design to be materialized using sound design vocabulary, as opposed to plain programming procedures. Following specifications for the system‟s architecture, the API was validated by a formal usability test. Results of the experiment showed the API, although requiring time for an adaptation process, can be seen as an accessible alternative in terms of describing and implementing soundscapes in videogame contexts.
    [Show full text]
  • Vrjuggler Configuration을 이용한 VR 환경의 설정
    ISBN 978-89-6211-400-3 98560 VRJuggler Configuration을 이용한 VR 환경의 설정 허 영 주 ([email protected]) 한 국 과 학 기 술 정 보 연 구 원 Korea Institute of Science & Technology Information 목차 1. 서론 ······························································································· 1 2. VRJuggler 설치방법 ··································································1 가. VRJuggler 설치에 필요한 패키지···················································· 1 1) Doozer ······································································································· 1 2) Boost ········································································································· 1 3) CppDom ···································································································· 2 4) Scons ········································································································· 2 5) GMTL (Generic Math Template Library) ····································· 3 나. VRJuggler 설치 ···················································································· 3 다. 환경 변수 설정 ····················································································· 4 라. 설치시 발생할 수 있는 문제 ····························································· 5 3. VRJuggler Configuration ·························································· 6 가. 개요r ······································································································· 6 나. 입력 디바이스 설정 ·············································································
    [Show full text]