OpenToonz - An open-source full-featured 2D animation creation software

OpenToonz

日本語

Translation status

What is OpenToonz?

OpenToonz is a 2D animation software published by DWANGO. It is based on Toonz Studio Ghibli Version, originally developed in Italy by Digital Video, Inc., and customized by Studio Ghibli over many years of production.

Program Requirements

Please refer to the OpenToonz site at https://opentoonz.github.io/e/index.html.

Installation

Please download and install OpenToonz from the latest installer at https://opentoonz.github.io/e/index.html.

Older versions and unstable nightly build are also available at https://github.com/opentoonz/opentoonz/releases.

How to Build Locally

For instructions on how to build stylesheets, please see here.

Can't develop but still want to help? Help us test individual Pull Requests before they are merged with these steps.

Community

Licensing

  • Files outside of the thirdparty and stuff/library/mypaint brushes directories are based on the Modified BSD License.
    • modified BSD license.
    • Based on this license, this software may be used or changed freely for business or personal use.
  • For files in the thirdparty directory:
    • Please consult with the licenses in the appropriate READMEs or source codes.
  • For files in the stuff/library/mypaint brushes directory:
    • Please see the licenses in stuff/library/mypaint brushes/Licenses.txt.

Special Thanks

This Open Source Program is developed from Toonz, a software originally created by Digital Video, S.p.A., Rome Italy

Comments
  • Krita-Like Assistant Tool

    Krita-Like Assistant Tool

    Issue #1349

    • [x] Change the pen color on the cells for the Assistant Level to Black so the level name can be read against the light level color, similar to the Note Level.
    • [x] Add a thumbnail for the Assistant Level so it's not just an empty box in xsheet/timeline.
    • [x] Issue when a frame is created in the Assistant Level, Undo/Redo of the new frame doesn't work.
    • [x] DEL removes whole frame instead of selected assistant.
    • [x] Delete assistant via configured shortcut, instead of hardcoded DEL.
    • [x] Vector strokes does not creates when magnetism < 1
    • [x] Too thin assistants guidelines
    • [x] Unexpected thin tail at the end of each stroke
    • [x] Lag drawing on Toonz Raster level
    • [x] Remove code blocking seq 0 frames from loading
    • [x] Fix ALT key not resetting on release in tools
    • [ ] Raster brushes don't stay on ellipse when drawing too fast
    • [x] Ellipse Assistant causes crash on macOS
    • [x] Duplicate Drawing causes crash on Assistant Levels
    • [x] Standard raster brush does not use max size when using mouse or pressure turned off
    • [ ] Smooth lag is worse in this PR than nightly.
    • [x] Flickering while drawing. Make the line between cursor and drawn line toggleable?
    • [x] Plastic Tool's toolbar options not shown for Sub-Xsheet columns
    • [ ] Hardness settings producing bad lines for Toonz Raster brush
    • [ ] Autosave causes crash on Raster levels when drawing with pen
  • Stop Motion Improvements

    Stop Motion Improvements

    This makes a number of improvements to the stop motion toolset:

    • Camera settings are saved and loaded for each scene
    • Added ability to export an image sequence based on an xsheet column
    • Display battery level for Canon DSLR cameras
    • Stop making .bak files on saving a stop motion level
    • Focus check location on DSLR cameras can be controlled with arrows and numpad
    • Focus check location now highlighted with a box in the viewer
    • Fix some shortcuts
    • Fix white frame flash after playback
    • Option for the camera to be drawn below or above other levels
    • Webcam stop motion for all builds (This will require all developers to use OpenCV from now on)
    • Time lapse option for stop motion
    • Frame number is sent over a serial port for motion control to arduino/rasp pi.
  • Timeline UI Update

    Timeline UI Update

    This PR resolves #1985

    The timeline, especially when zoomed all the way out is very "noisy" with all the lines and symbols. This PR attempts to clear some of that noise. Changes are based on suggestions from @konero and further discussed in the PR.

    The updated timeline display looks like this:

    image

    The following changes were made to the timeline display:

    • The continuation line has been removed from all levels.
    • The vertical frame separators have been removed between held frames. A vertical separator only exists whenever there is a frame change.
    • A scene's Marker Interval will only show when there is a vertical separator between 2 different frames.
    • The frame marker dot no longer takes on text color. It is always black. It still turns red if source file cannot be found.
    • The keyframe icon switches to a white diamond (blue when selected) when zoomed in less <= 50%.
    • Horizontal lines were added in the frame header to show where the fixed and relative onion skin marks could be enabled.
    • Vertical lines between frames in the frame header have been shortened to 3-6 pixels tall from the bottom.
    • The small frame indicators below the numbers in the frame header have been removed.
    • When activated, the space between the Start and End frame header markers have a different color than the rest of the header to show the scene boundaries. Currently the color used is the same color for non-empty columns. [NOTE: Change was made to xsheet mode also]

    Also included in this PR:

    • Fixed bug with setting Marker Interval = 0 causing a crash.
    • Fixed bug on loading a scene that made xsheet cell grid 1 px lower than it should be until it refreshed
    • Changed the Xsheet/Timeline orientation button to have an icon instead of words; Tooltips added to items in panel.
    • Rearranged note panel icons
    • Restored Preview Visibility button for Palette levels
    • Windows menu item "Timeline" which opens directly to Timeline view
    • PR resolves #2003 - A dedicated Timeline Room setup. This has been requested by multiple people and is also being added in anticipation of the new Curve Animation feature currently in development. image
    • Allow turning off Marker Intervals when value = 0
    • PR resolve #1688 - Matches zoomed out frame numbers to marker intervals in "Frame" mode only. Defaults to every 5 if marker intervals turned off. Other modes do not affected
  • Schematic navigation enhancement

    Schematic navigation enhancement

    This PR improves the navigation of the Schematic viewer as follows:

    1. Adds 3 new buttons: Selection (default/normal), Zoom and, Hand (pan)

    image

    1. Handles touch gesture

      1 finger = Pan 2 finger pinch = Zoom 1 finger double tap = fit to window

  • Canon DSLR and Stop Motion Support

    Canon DSLR and Stop Motion Support

    This will add support for Canon DSLR cameras for stop motion animation.

    It creates a new pane to control stop motion: stopmo

    Instead of stop motion happening in a popup, live view and onion skin are overlayed on top of the main viewer, making it easier to watch your progress as you go.

    This is still a WIP - there are still plenty of features to add. As of the initial commit, live view works as does capturing live view images to the xsheet.

    @shun-iwasawa I put this up here to let you know what direction it is going and to get the ball rolling on having the Dwango lawyers look at the licenses of the included libraries.

    There are two new libraries introduced with this PR:

    1. The Canon SDK. This is proprietary and I don't think should be hosted here on GitHub publicly. This may break travis or appveyor. However, a private repo could be used as the source of their builds.

    2. libjpeg-turbo This is necessary for live view to run at smooth speeds. Standard libjpeg is much slower. Perhaps we could replace the current libjpeg with turbo.

  • Horizontal timeline option in Xsheet (issue#503)

    Horizontal timeline option in Xsheet (issue#503)

    Overview

    This feature adds a "toggle orientation" button to the Xsheet, letting you switch between default Xsheet layout (with vertical timeline) and compact horizontal timeline:

    vertical

    horizontal2

    I've tested as many features as I could, though I'm no veteran in OpenToonz. I've got the basics of selecting, resizing, moving of columns and cells covered. I could not reproduce several more obscure column types; these will behave correctly in old layout and will need tweaks for the new orientation.

    Implementation

    OpenToonz code is strongly tied to vertical timeline; it maps X to column number and Y to row number. The link is pervasive in the code. In order to untie them, I introduced several concepts:

    • I recognize that there are Frame Axis and Layer Axis.
    • Frame Axis corresponds to Y, and Layer Axis corresponds to X in classic layout. They swap roles in the other layout.
    • Which axis goes where is a matter of View presenting the data. The data is stored exactly as it was.
    • Code makes excessive use of terms "row" and "column". I could not replace it everywhere; instead, I introduced a rule that "row" should be understood to mean Frame Axis and "column" to mean Layer Axis (always!)
    • A cell is identified by the pair of (frame, layer). This is called CellPosition.
    • Rather than map x <-> layer and y <-> frame separately, I map pairs (x, y) <-> (frame, layer).
    • The Column classes keep their name, and should be understood to mean Layer (synonymous: Level).
    • There is a class responsible for mapping CellPosition to screen XY or vice versa. The class is Orientation.
    • Orientation is responsible for everything layout related.
    • Xsheet remembers its orientation and can switch it.

    Orientation operates on slightly higher level abstractions than the old code. Wherever possible, I used QRects to mark rectangular areas with meaningful role.

    Old code

      int x      = m_viewer->columnToX(col);
      int y      = m_viewer->rowToY(row);
      QRect rect = QRect(x + 1, y + 1, ColumnWidth - 1, RowHeight - 1);
    

    New code

      QPoint xy      = m_viewer->positionToXY(CellPosition(row, col));
      int x          = xy.x();
      int y          = xy.y();
      QRect cellRect = o->rect(PredefinedRect::CELL).translated(xy);
      QRect rect     = cellRect.adjusted(1, 1, -1, -1);
    

    I keep x and y for compatibility; however, whenever possible, I prefer higher level abstraction of QPoint xy. QRect arithmetics rewards this approach. Sometimes QLine is more appropriate; and sometimes I fall back to X and Y calculations, termed as Layer Axis and Frame Axis. Orientation helps me translate them to screen XY in the end.

    Orientation provides quite a few enumerated QRects, QLines, ints and QPainterPaths to satisfy any needs in marking up the screen. These can be retrieved via methods similar to Orientation::rect ():

    enum class PredefinedRect {
      CELL,                     //! size of a cell
      DRAG_HANDLE_CORNER,       //! area for dragging a cell
      KEY_ICON,                 //! position of key icon
      CELL_NAME,                //! cell name box
      CELL_NAME_WITH_KEYFRAME,  //! cell name box when keyframe is displayed
      END_EXTENDER,             //! bottom / right extender
      BEGIN_EXTENDER,           //! top / left extender
    

    These are almost always relative to the top left corner of corresponding cell. These primitives are used for both displaying the items and responding to mouse events:

    Old code:

        if (column && column->getSoundColumn()) {
          // sound column
          if (x > 20 && 3 * RowHeight + 5 <= y && y < 3 * RowHeight + 33)
            m_tooltip = tr("Click to play the soundtrack back");
          else if (x >= 10 && x <= 20 && RowHeight + RowHeight / 2 < y &&
                   y < 8 * RowHeight - RowHeight / 2)
            m_tooltip = tr("Set the volume of the soundtrack");
        }
    

    New code:

        if (column && column->getSoundColumn()) {
          // sound column
          if (o->rect(PredefinedRect::SOUND_ICON).contains(mouseInCell))
            m_tooltip = tr("Click to play the soundtrack back");
          else if (o->rect(PredefinedRect::VOLUME_AREA).contains(mouseInCell))
            m_tooltip = tr("Set the volume of the soundtrack");
        }
    

    which, among other things, reduces chances for inconsistencies.

  • (WIP) Advanced color selector

    (WIP) Advanced color selector

    I'm currently developing an advanced color selector (based on https://github.com/mbasaglia/Qt-Color-Widgets and so usable for any Qt apps, not just OpenToonz) as requested by @Agnyy. While it's far from being complete or advanced yet, i've already made it to work with OT and so have a few questions regarding integration:

    • what is the preferred way of source storage and building? As i understand, OT doesn't use many third-party dependences and uses static linking, so for now i used git submodule and add_subdirectory in CMakeLists

    • are there any special cases related to color selecting? I already run into "color 0" which is displayed as invalid style in Style Editor (though changing it through my dock works)

    • i see you're using custom icons for everything so i suppose using icons bundled with Qt-Color-Widgets would be ok?

    Since my color selector widget isn't limited to OT, i'd like this thread to be kept for OT-related stuff and discuss universal features in https://github.com/mbasaglia/Qt-Color-Widgets/issues/29

    screenshot

    Issues List:

    • [ ] Fix the color picker not picking both colors for gradients and stuff. Only lets you pick one color.
    • [x] Fix black text in left most box when the color picker is opened for the 1st time
    • [x] Fix Linux compile target in toonz\sources\toonz\CMakeLists.txt (see comment belot)
    • [x] Suggestion: Relocate MI_OpenAdvancedColorSelector option in Windows Menu to after MI_OpenColorModel
    • [x] Add MI_OpenAdvancedColorSelector to stuff\profiles\layouts\rooms\Default\menubar_template.xml to match location in Windows Menu
    • [ ] Fix styling issues (not required, but would be nice)
  • (Proposal) Hand-drawn Animation Auto-Complete

    (Proposal) Hand-drawn Animation Auto-Complete

    In my graduation project me and my team are going to implement the Hand-drawn Animation Auto-Complete research: click here to see video. This research is based on this one: click here to see video.

    I think it would be easier if we start it from scratch so that the code base would be smaller and more manageable. But at the same time it would be kind of a waste. So we were thinking maybe we could add this feature to opentoonz. Opentoonz has a wonderful qt5 code base. But it's huge and we will spend so much time trying to be consistent with the rest of the code.

    The question is: Would you guys be willing to merge this into the master branch if we do it, or would that be against any of the design philosophies of the program? If you would be willing to merge it then we will definitely start to work on it. If not then I guess we'll just start from scratch.

    Also if you guys have any ideas, comments or critics we would love to hear them.

    PS: we're big fans of opentoonz. Thank you for the masterpiece software.


    Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

  • [WIP] Curve Animation - animating individual strokes

    [WIP] Curve Animation - animating individual strokes

    This PR introduces a new timeline-only feature allowing the animation of individual vector curves (strokes). This is similar to the feature found in After Effects.

    This work was requested and overseen by @Agnyy, initially developed by @jaros3 and currently maintained by me.

    Feature Description

    This feature adds the ability to unfold vector layers into sublayers. Each sublayer contains a single curve (stroke). Each curve can be independently animated at the control point level. This is in addition to normal level keyframing.

    To create a curve keyframe:

    1. Click on the key icon on the sublayer (recommended where you want to start the curve animation).
    2. Move the timeline indicator to where you want to have the next curve keyframe to be.
    3. Switch to Control Point Editor tool or other supported tool.
    4. Modify a control point on the curve as desired.

    curveanimation

    When a curve is animated, it's keyframes can be modified in the Function Editor.

    curveanimationfunctioneditor

    NOTE: Internally, what is being animated are the control point handles (1 if at end, 2 otherwise) that determines position and orientation of the control point and the curve between control points.

    Caveats

    1. When saving a scene with any animated curves, the scene cannot be opened in prior versions of OT.

      In order to open the scene in older versions, you must remove all curve keyframes before saving.

    2. The following tools are currently not supported in curve animation.

      Cutting Tool Eraser Tool (except when deleting the entire stroke) Tape Tool (only when joining lines is checked and only when an animated curve is selected)

      NOTE: These tools will currently block the tool from working on an animated curve. You'd need to turn off curve animation on that stroke for it to work.

    3. Curve keyframes cannot be modified directly from timeline. Need to use Function Editor to modify or delete

    Known Issues

    1. Undo of stroke changes also clears curve animations permanently

    2. Adding/removing control points with control point editor someones loses animation

    3. Selection Tool's pump does not work when curve animation enabled. Should work like pump tool

    4. Visualize as raster does not apply path animations

    5. Image bounding box doesn't always adjust in viewer's preview mode, cutting off aninmation at the boundries.

    6. Moving cells with active curve keyframes does not move curve keyframes with it.

    7. Timeline sublayer refresh issues

      • When playing back in viewer, the xsheet does not always resize properly. Initial attemps to do so causes extreme performation issues during playbak.
      • When erasing in "Normal" mode, cannot refresh xsheet size area until you are done erasing.

    TODO

    Before this PR can be merged we need to

    1. Fixing any critical issues listed above or found while testing
    2. Test this heavily.

    Possible Future enhancements

    1. Add more control over curve keyframes from timeline.
  • FFmpeg Integration - mp4, webm, gif

    FFmpeg Integration - mp4, webm, gif

    Gif and Webm export are working when 1 cpu is used for export. I modified outputsettingspopup to disable other cpus when gif or webm is selected. Obviously it would be better if it could use all, but it is inconsistent right now.

    I submitted these both together because the implementation is basically the same(as is the h264 PR). I can split them if you prefer, but anything that doesn't work on one will probably not work on the other. The only difference is ffmpeg options.

    I realize that h264 support is being debated due to licensing issues, but these options shouldn't have licensing issues.

    The code works but I tagged it WIP because I'm sure there are things I missed. If you could look at it, I would appreciate it.

  • Guided Drawing Feature

    Guided Drawing Feature

    This feature adds a new option to the vector brush and geometry tools- Guided Drawing

    In order to successfully use auto-tweening of vector drawings, the strokes need to be in the same order and direction. This change makes the onion skin highlight what stroke is next in order and draws an x at the start of the stroke- making it much easier to keep track of what order the strokes need to be drawn in.

    guided

  • Scene Cast Modernization.

    Scene Cast Modernization.

    Is your feature request related to a problem? Please describe

    To integrate the functionality of the scene cast window into OpenToonz more, and respond to more modern approaches to animation improving on existing functionality.

    Describe the solution you'd like

    Scene Cast window is lacking in UX and flexibility to behave and respond more like a modern library and fit in with the rest of OpenToonz.

    Core concepts are to:

    1. Right-click over label types.

      • Duplicate.
      • Copy.
      • Paste insert.
      • Delete.
      • Rename.
    2. Cast Zone would have the ability to duplicate levels.

    3. Labels to be dragged and drop capability.

    4. Duplicate levels with the scene cast.

    5. Thumbnail scale Slider to change the scale of the thumbnail.

    6. Capability for the user to see into subfolders.

    7. OT viewer could be built into the scene cast to save them from having constant right-click view to the animation. There should be the option not to see the viewer in the scene cast window. The capability of the viewer should still be accessible by right-clicking.

    8. Clone Lable: Should be associated with an icon so the user knows that the label is a clone label. A handy example would be having a "model sheet label" and it clones out to other sub-labels or scenes. this makes it easier for the label's content to be managed.

    9. Ability to lock labels this is so that the content can be removed or added to. This should have an icon associated with it.

    Some of this could also be pushed across to the browser window.

  • Fx in 'custom panel' + color labbels

    Fx in 'custom panel' + color labbels

    I think it would be very nice to be able to add Fx's to the custom panel, and, on the way, to be able to differentiate it with a color (although this is something secondary and not so important) 😁

    image

  • Opentoonz crashes with geometric tool in raster level.

    Opentoonz crashes with geometric tool in raster level.

    Description

    When I draw something with the geometric tool in a raster level, the software crashes.

    Steps to Reproduce

    1. Create a raster level.
    2. Draw something with geometric tool.

    Expected Behavior

    No response

    Screenshots, Video & Crash Logs

    No response

    OpenToonz Version

    1.6

    OpenToonz Version Information

    built 15 nov 2022

    Operating System

    Windows

    GPU

    NVIDIA

    Graphics Tablet

    Wacom

  • Layer panel like AE for family friendly compositing

    Layer panel like AE for family friendly compositing

    I was thinking on a layer based compositing panel, like AE, and it would work the same way. The idea is that what you edit in this new panel, is transferred to the node composer automatically, making the work more friendly for users who are not familiar with nodes, and who want to work in a faster way.

    I have not thought about how this could work, whether or not it would be viable, because it has been a fleeting idea that I wanted to put on the table, and that is why I open this thread to discuss it if there is any kind of interest, and if you see it feasible.

    What do you think?

  • Opentoonz has crashed

    Opentoonz has crashed

    Ask a question related to OpenToonz

    My Opentoonz crashed and won't let me back in, is this just me or is this happening for other people.

    OpenToonz 1.6 (Build Nov 19 2022)

    Report Date: 2022-11-21 10:00:23 Crash Reason: (SIGABRT) Usually caused by an abort() or assert()

    Build ABI: x86_64-little_endian-lp64 Operating System: macOS 10.15 OS Kernel: 19.6.0 CPU Threads: 8

    GPU Vendor: Intel Inc. GPU Model: Intel Iris Pro OpenGL Engine GPU Version: 2.1 INTEL-14.7.28

    Crash File: /Users/atreyuarmstrong/Library/Application Support/OpenToonz/OpenToonz/crash/Crash-20221121-100023.log

    Application Dir: /Applications/OpenToonz.app/Contents/MacOS Stuff Dir: /Applications/OpenToonz/OpenToonz_stuff

    Project Name: sandbox Scene Name: untitled7 Project Path: /Applications/OpenToonz/OpenToonz_stuff/sandbox/sandbox_otprj.xml Scene Path: /Users/atreyuarmstrong/Library/Caches/OpenToonz/OpenToonz/temp/untitled7/untitled7.tnz

    ==== Backtrace ==== 1> 3 ??? 0x0000000000000400 0x0 + 1024 2> 4 libsystem_c.dylib 0x00007fff71c72808 abort + 120 3> 5 libc++abi.dylib 0x00007fff6eecf458 abort_message + 231 4> 6 libc++abi.dylib 0x00007fff6eec08bf _ZL29demangling_unexpected_handlerv + 0 5> 7 libobjc.A.dylib 0x00007fff709fd5b1 _ZL15_objc_terminatev + 104 6> 8 libc++abi.dylib 0x00007fff6eece887 _ZSt11__terminatePFvvE + 8 7> 9 libc++abi.dylib 0x00007fff6eed11a2 __cxa_get_exception_ptr + 0 8> 10 libc++abi.dylib 0x00007fff6eed1169 _ZN10__cxxabiv1L22exception_cleanup_funcE19_Unwind_Reason_CodeP17_Unwind_Exception + 0 9> 11 libtnzcore.dylib 0x0000000107f50af4 _ZN7TSystem22readDirectory_DirItemsER11QStringListRK9TFilePath + 612 10> 12 libtnzcore.dylib 0x0000000107f5059c ZN7TSystem25readDirectory_Dir_ReadExeERNSt3__14listI9TFilePathNS0_9allocatorIS2_EEEERKS2 + 44 11> 13 OpenToonz 0x0000000107476ca7 _ZN12StartupPopup15updateProjectCBEv + 1239 12> 14 OpenToonz 0x0000000107475ed1 _ZN12StartupPopup9showEventEP10QShowEvent + 33 13> 15 QtWidgets 0x000000010a76bd69 _ZN7QWidget5eventEP6QEvent + 1161 14> 16 QtWidgets 0x000000010a73252d _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent + 269 15> 17 QtWidgets 0x000000010a7338f2 _ZN12QApplication6notifyEP7QObjectP6QEvent + 466 16> 18 QtCore 0x000000010b4d67f4 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent + 212 17> 19 QtWidgets 0x000000010a76aaed _ZN14QWidgetPrivate11show_helperEv + 413 18> 20 QtWidgets 0x000000010a76b724 _ZN14QWidgetPrivate10setVisibleEb + 804 19> 21 QtWidgets 0x000000010a932612 _ZN7QDialog10setVisibleEb + 258 20> 22 OpenToonz 0x000000010722f1c2 _ZN10MainWindow9showEventEP10QShowEvent + 146 21> 23 QtWidgets 0x000000010a76bd69 _ZN7QWidget5eventEP6QEvent + 1161 22> 24 QtWidgets 0x000000010a87d784 _ZN11QMainWindow5eventEP6QEvent + 276 23> 25 QtWidgets 0x000000010a73252d _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent + 269 24> 26 QtWidgets 0x000000010a7338f2 _ZN12QApplication6notifyEP7QObjectP6QEvent + 466 25> 27 QtCore 0x000000010b4d67f4 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent + 212 26> 28 QtWidgets 0x000000010a76aaed _ZN14QWidgetPrivate11show_helperEv + 413 27> 29 QtWidgets 0x000000010a76b724 _ZN14QWidgetPrivate10setVisibleEb + 804 28> 30 OpenToonz 0x000000010720b5f4 main + 15092 29> 31 libdyld.dylib 0x00007fff71ba3cc9 start + 1 ==== End ====

Cobalt Strike is a commercial, full-featured, remote access tool that bills itself as "adversary simulation software designed to execute targeted attacks and emulate the post-exploitation actions of advanced threat actors".
 	Cobalt Strike is a commercial, full-featured, remote access tool that bills itself as

COBALT STRIKE 4.4 Cobalt Strike is a commercial, full-featured, remote access tool that bills itself as "adversary simulation software designed to exe

Aug 21, 2022
Lightweight, cross-platform & full-featured shader IDE
Lightweight, cross-platform & full-featured shader IDE

SHADERed is a lightweight tool for writing and debugging shaders. It is easy to use, open source, cross-platform (runs on Windows, Linux & Web).

Nov 26, 2022
ozz-animation provides runtime character animation playback functionalities (loading, sampling, blending...)
ozz-animation provides runtime character animation playback functionalities (loading, sampling, blending...)

ozz-animation open source c++ 3d skeletal animation library and toolset ozz-animation provides runtime character animation playback functionalities (l

Nov 25, 2022
Blender is the free and open source 3D creation suite
Blender is the free and open source 3D creation suite

Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.

Nov 30, 2022
The FLIP Fluids addon is a tool that helps you set up, run, and render high quality liquid fluid effects all within Blender, the free and open source 3D creation suite.

FLIP Fluids The FLIP Fluids addon is a tool that helps you set up, run, and render liquid simulation effects. Our custom built fluid engine is based a

Nov 29, 2022
X-CUBE-AZRTOS-F4 (Azure RTOS Software Expansion for STM32Cube) provides a full integration of Microsoft Azure RTOS in the STM32Cube environment for the STM32F4 series of microcontrollers.
X-CUBE-AZRTOS-F4 (Azure RTOS Software Expansion for STM32Cube) provides a full integration of Microsoft Azure RTOS in the STM32Cube environment for the STM32F4 series of microcontrollers.

X-CUBE-AZRTOS-F4 Azure RTOS Software Expansion for STM32Cube With Azure RTOS complementing the extensive STM32Cube ecosystem providing free developmen

Nov 17, 2022
X-CUBE-AZRTOS-F7 (Azure RTOS Software Expansion for STM32Cube) provides a full integration of Microsoft Azure RTOS in the STM32Cube environment for the STM32F7 series of microcontrollers.
X-CUBE-AZRTOS-F7 (Azure RTOS Software Expansion for STM32Cube) provides a full integration of Microsoft Azure RTOS in the STM32Cube environment for the STM32F7 series of microcontrollers.

X-CUBE-AZRTOS-F7 Azure RTOS Software Expansion for STM32Cube With Azure RTOS complementing the extensive STM32Cube ecosystem providing free developmen

Nov 17, 2022
Fully Featured Time Circuits Display from Back to the Future
Fully Featured Time Circuits Display from Back to the Future

Time Circuits Display This Time Circuits Display has been meticulously reproduced to be as accurate as possible to the one seen in the Delorean Time M

Nov 12, 2022
Emulation of classic VA synths of the late 90s/2000s that featured the Motorola 56300 family DSP

Gearmulator Emulation of classic VA synths of the late 90s/2000s that used the Motorola 56300 family DSP This project aims at emulating various musica

Nov 24, 2022
A fully-featured, cross platform XO-CHIP/S-CHIP/CHIP-8 emulator written in C and SDL.
A fully-featured, cross platform XO-CHIP/S-CHIP/CHIP-8 emulator written in C and SDL.

JAXE (Just Another XO-CHIP/CHIP-8 Emulator) Brix Space Invaders (In Debug Mode) Black Rainbow DVN8 Super Neat Boy Chicken Scratch CHIP-8 was a virtual

Nov 12, 2022
A tiny but (will be) featured rasterizer
A tiny but (will be) featured rasterizer

Introduction This is my own rasterizer implementation. Developed in C++17. Usage compile ./rasterizer [model], model names plz refer to this README Ro

Aug 22, 2022
AWS Ambit Scenario Designer for Unreal Engine 4 (Ambit) is a suite of tools to streamline content creation at scale for autonomous vehicle and robotics simulation applications.
AWS Ambit Scenario Designer for Unreal Engine 4 (Ambit) is a suite of tools to streamline content creation at scale for autonomous vehicle and robotics simulation applications.

AWS Ambit Scenario Designer for Unreal Engine 4 Welcome to AWS Ambit Scenario Designer for Unreal Engine 4 (Ambit), a suite of tools to streamline 3D

Nov 17, 2022
A set of one-line C++ macros to simplify the creation of reccurent things in Qt projects

QDefs A set of one-line C++ macros to simplify the creation of reccurent things in Qt projects (like Qt Meta Properties) so that doing them in C++ is

Nov 2, 2022
Beacon Object File allowing creation of Beacons in different sessions.
Beacon Object File allowing creation of Beacons in different sessions.

JumpSession_BOF This is a Beacon Object File allowing creation of Beacons in different sessions. Must be Elevated. This BOF was created on the heels o

Nov 18, 2022
ModuLiDAR is an all-in-one open-source software for autonomous UGVs and industrial robots.
ModuLiDAR is an all-in-one open-source software for autonomous UGVs and industrial robots.

ModuLiDAR is an all-in-one open-source software for autonomous UGVs and industrial robots. the target industries that ModuLiDAR is working on are farming industry, mining industry, warehouses industry, and construction industry.

Jun 22, 2022
SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.
SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.

SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.

Nov 24, 2022
OpenFOAM is a free, open source computational fluid dynamics (CFD) software package

acousticStreamingFoam About OpenFOAM OpenFOAM is a free, open source computational fluid dynamics (CFD) software package released by the OpenFOAM Foun

Oct 28, 2022
Open-source KVM software

Barrier Eliminate the barrier between your machines. Find releases for windows and macOS here. Your distro probably already has barrier packaged for i

Nov 24, 2022
C++ Open Source Software Template
C++ Open Source Software Template

cpp-oss-template cpp-oss-template is a simple template for C++ language based project. Support CI Appveyor Travis CI Azure Pipelines Support Tool Code

Jun 21, 2022