Coder Social home page Coder Social logo

gobot's People

Contributors

stephenyu-r avatar wuqiqi123 avatar wuyingnan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

wuyingnan

gobot's Issues

Add RigidBody3D

RigidBody3D, as a Node3D in the scene tree, implements 3D physics. Movement and collision will be calculated w.r.t. an applied command.
In sense of a robot, any RigidBody3D should be attached to a parented Joint3D, otherwise it's floating.

MSVC build error

  • Error of matrix
    Do you have any idea of this? @wuyingnan
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(113): error C2760: 语法错误:此处出现意外的“)”;应为“表达式”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(149): note: 查看对正在编译的 类 模板 实例化“gobot::internal::Matrix<Scalar,_Rows,_Cols,_Options,_MaxRows,_MaxCols>”的引用
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(113): error C3878: 语法错误: "simple_declaration" 后出现意外标记 ")"
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(113): note: 已跳过错误恢复:“)”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(123): error C2760: 语法错误:此处出现意外的“)”;应为“表达式”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(123): error C2760: 语法错误:此处出现意外的“)”;应为“;”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(123): error C3878: 语法错误: "expression_statement" 后出现意外标记 ")"
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(123): note: 已跳过错误恢复:“)”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(133): error C2760: 语法错误:此处出现意外的“)”;应为“表达式”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(133): error C3878: 语法错误: "simple_declaration" 后出现意外标记 ")"
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(133): note: 已跳过错误恢复:“)”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(139): error C2760: 语法错误:此处出现意外的“)”;应为“表达式”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(139): error C2760: 语法错误:此处出现意外的“)”;应为“:”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(139): error C3878: 语法错误: "expression" 后出现意外标记 "*"
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(139): note: 已跳过错误恢复:“* 标识符”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(139): error C2760: 语法错误:此处出现意外的“:”;应为“;”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(139): error C3878: 语法错误: "expression_statement" 后出现意外标记 ":"
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(139): note: 已跳过错误恢复:“:”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(140): error C2760: 语法错误:此处出现意外的“)”;应为“表达式”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(140): error C2760: 语法错误:此处出现意外的“)”;应为“;”
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(140): error C3878: 语法错误: "expression_statement" 后出现意外标记 ")"
C:\Users\wqq\gobot\include\gobot/core/math/matrix.hpp(140): note: 已跳过错误恢复:“)”
  • Error of bx

C:\Users\wqq\gobot\3rdparty\bgfx\bx\include\bx\inline/allocator.inl(63): error C3861: “BX_UNUSED_1”: 找不到标识符 C:\Users\wqq\gobot\3rdparty\bgfx\bx\include\bx/mutex.h(16): error C2061: 语法错误: 标识符“NO_COPY” C:\Users\wqq\gobot\3rdparty\bgfx\bx\include\bx/mutex.h(18): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int C:\Users\wqq\gobot\3rdparty\bgfx\bx\include\bx/mutex.h(18): warning C4183: “BX_CLASS_1”: 缺少返回类型;假定为返回“int”的成员函数 C:\Users\wqq\gobot\3rdparty\bgfx\bx\include\bx/mutex.h(40): error C2061: 语法错误: 标识符“NO_DEFAULT_CTOR” C:\Users\wqq\gobot\3rdparty\bgfx\bx\include\bx/mutex.h(43): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int C:\Users\wqq\gobot\3rdparty\bgfx\bx\include\bx/mutex.h(43): warning C4183: “BX_CLASS_2”: 缺少返回类型;假定为返回“int”的成员函数 C:\Users\wqq\gobot\src\gobot\rendering\debug_draw\debug_draw.cpp(373): error C3861: “BX_UNUSED_5”: 找不到标识符 C:\Users\wqq\gobot\src\gobot\rendering\debug_draw\debug_draw.cpp(373): note: “BX_UNUSED_5”: 函数声明必须可用,因为所有参数都不依赖于模板参数 C:\Users\wqq\gobot\src\gobot\rendering\debug_draw\debug_draw.cpp(439): note: 查看对正在编译的 类 模板 实例化“gobot::GeometryT<MaxHandlesT>”的引用 C:\Users\wqq\gobot\src\gobot\rendering\debug_draw\debug_draw.cpp(1692): error C3861: “BX_UNUSED_4”: 找不到标识符

Fix cache key

Since we changed conanfile.txt to conanfile.py, the cache key used in Github action should be changed accordingly.

choose a 3d visualization library as the first step

candidates:

  1. https://github.com/google/filament
  2. https://github.com/mosra/magnum
  3. https://github.com/openscenegraph/OpenSceneGraph
  4. https://github.com/bkaradzic/bgfx
  5. https://github.com/LukasBanana/LLGL
    I want a lightweight, simple 3d visualization library for quick integration and for debug use for the first step.
    Also I hope path tracing and some graphic algorithm easy to integration and add new features incrementally.

magnum looks well enough, but I don't find the gizmo demo.

Add NodePath

A pre-parsed relative or absolute path in a scene tree, for use with Node related functionalities. It can reference a node, a resource within a node, or a property of a node or resource.

Add intermediate layer api for class registration

Add intermediate layer for gobot api registration, so we can not only bind to rttr, but also some other usage, such as pybind11, json, and visual script.

gobot api registration ==> intermediate layer ==> RTTR, pybind11, json...

bgfx related issues

  1. Current demo relies on shader from bgfx demos without which the gobot editor cannot be initiated.
  2. The editor process may not be terminated due to an incomplete shutdown of bgfx, which might be a multi-threading bug of bgfx.
  3. Windows support is highly recommended since we can validate bgfx earlier if other issues existed.
  4. resizing the view can cause flushing.

Fix windows build and test

Currently windows build and test is disabled because there are bugs in CMakeLists.txt. Need to fix it and enable windows build/test again

Inspector panel

Property inspector using rttr reflection system.

  • Bool
    Peek 2023-04-05 19-41

  • Integer(UInt8, UInt16, UInt32, UInt64, Int8, Int16, In
    Peek 2023-04-05 19-42

  • ObjectID, RID, RenderRID
    image

  • String
    Peek 2023-04-05 19-43
    t32, Int64 )

  • MultiLineString
    Peek 2023-04-05 19-44

  • Color
    Peek 2023-04-05 19-46

  • Enum
    Peek 2023-04-05 19-47

  • Flags
    Peek 2023-04-05 19-49

  • Vector (Vector2i, Vector2f, Vector2d, Vector3i, Vector3f, Vector3d, Vector4i, Vector4f, Vector4d)
    Peek 2023-04-06 18-36

  • Quaterniond, Quaternionf
    Peek 2023-04-07 15-38

  • Matrix2i, Matrix2f, Matrix2d, Matrix3i, Matrix3f, Matrix3d
    Peek 2023-04-07 15-39

  • Isometry2f, Isometry2d, Affine2f, Affine2d, Projective2f, Projective2d, Isometry3f, Isometry3d, Affine3f, Affine3d, Projective3f, Projective3d
    image

  • VectorXi, VectorXf, VectorXd
    image

  • MatrixXi, MatrixXf, MatrixXd
    ![image](https://user-images.githubusercontent.com/37368

  • Path
    Peek 2023-04-07 17-16
    540/230565396-882e9592-02b2-4ae2-94f6-f2ae5fdcd9dc.png)

  • Ref

  • Array

  • Dictionary

  • Compound

Add RID

This is to adopt Godot's Node/Server pattern.

RID, namely Resource's unique ID, is used to access a low-level resource by its unique ID. Since RIDs are opaque to type of resources that Nodes are accessing, servers using RIDs could be anonymous to the front-end scenetree, which renders high flexibility to this design pattern.

Note that to differentiate RIDs from ObjectIDs, the former are used as handles for internal resources while the latter are exposed as user APIs for object tracking and debugging.

Windows compatiblity

Should be able to compile and run in Windows 10. Windows pipeline is also required.

using imgui as main UI system

Because of the bad experience of using Qt to implement property inspector widget, I decide to switch Main GUI system to imgui.

I find this https://github.com/jmorton06/Lumos repo's UI system(imgui) looks good.
image

What I need so far:

  • Scene Tree(Qt looks better)
  • Debug console(Both ok)
  • Render view
  • Gizmos (imgui looks better)
  • Property Inpsector( imgui looks better)
  • Menu bar (Qt looks better)
  • i18n (Qt looks better)

I want to integrate some render algorithms and physics engine in the future and I need be able to control physic frame and render frame. So I decide to not using qt widget as ui system framework.

For fast prototype,using https://github.com/mosra/magnum as main application entry is a good one.
Here is a demo of dart and magnum
https://doc.magnum.graphics/magnum/examples-dart.html

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.