Coder Social home page Coder Social logo

dariomanesku / cmftstudio Goto Github PK

View Code? Open in Web Editor NEW
1.2K 94.0 136.0 27.09 MB

cmftStudio - GUI counterpart for:

Home Page: https://github.com/dariomanesku/cmft

License: Other

C 97.09% CMake 0.01% C++ 2.78% Shell 0.01% Makefile 0.02% SuperCollider 0.01% Scala 0.06% Lua 0.02% Vim Script 0.01%

cmftstudio's Introduction

cmftStudio - cubemap filtering tool

GUI counterpart of cmft - cross-platform open-source cubemap filtering tool.

It reaches very fast processing speeds by utilizing both multi-core CPU and OpenCL GPU at the same time!

Download

cmftStudio - Windows 64bit (updated: 02. May 2015)
cmftStudio - Linux 64bit (updated: 02. May 2015)
cmftStudio - OSX 64bit (updated: 02. May 2015)
In case you need 32bit binaries, compile from source.


  • Latest changes:
    • Major allocator changes. (30. Apr 2015)
    • Material textures can now be loaded from: dds, ktx, tga, hdr, bmp, gif, jpg, png, pvr, tiff. (8. Apr 2015)
    • Gui now scales down on lower resolution screens! Even if you are on a laptop with screen resolution as low as 1366x768, you should be fine. (24. Mar 2015)
    • Added full screen support.


cmftStudioCover

Controls

  • Ctrl/Meta + F == Toggle fullscreen (where supported).
  • Ctrl/Meta + Q == Quit application.
  • On OSX, in case you don't have middle mouse click, use Command + Left click istead.

Supported formats

  • Environment map:
    • Input and output formats: *.dds, *.ktx, *.hdr, *.tga.
    • Input and output types: cubemap, cube cross, latlong, face list, horizontal and vertical strip.
  • Texture:
    • Input formats: *.dds, *.ktx, *.pvr.
  • Mesh:
    • Input formats: *.obj, *.bin (bgfx binary format).

Known issues

  • Windows
    • There seem to be some rendering problems when using OpenGL backend with a Radeon GPU. For now, on Windows, use DirectX9 or DirectX11 rendering backends until the problem gets fixed, More details here.

Installing

  • Windows: No installation available. Put the cmftStudio.exe along with cmftStudio.conf in a desired folder and use it from there
  • Linux: Use make install and make uninstall. This will create /usr/local/bin/cmftStudio and a desktop shortcut.

Building

git clone --recurse-submodules http://github.com/dariomanesku/cmftStudio.git
cd cmftStudio
make
  • After calling make, _projects folder will be created with all supported project files. Deleting _projects folder is safe at any time.<br >
  • All compiler generated files will be in _build folder. Again, deleting _build folder is safe at any time.<br >

Windows

  • Visual Studio solutions can be found in _projects/vs20XX/.<br >

Linux

  • From root directory call make linux-debug64 to build the application. Application should be run from the runtime directory where the config file is:<br > cd runtime<br > ./../_build/linux64_gcc/bin/cmftStudioDebug <br >
  • Application can be installed or removed from the system by calling sudo make linux-install and sudo make linux-uninstall.`

OS X

  • XCode
    • XCode solution can be found in _projects/xcode4/.<br >
    • XCode project contains one scheme with 4 build configurations (debug/release 32/64bit). Select desired build configuration manually and/or setup schemes manually as desired. In case you need 64bit build, it is possible to just set Build Settings -> Architectures -> Standard Architectures (64-bit Intel) (x86_64).<br >
    • Also it is probably necessary to manually set runtime directory (it is not picking it from genie for some reason). This is done by going to "Product -> Scheme -> Edit Scheme... -> Run cmftDebug -> Options -> Working Directory (Use custom working directory)" and specifying runtime/ directory from cmft root folder.<br >
  • Makefile
    • Makefile can be found in _projects/gmake-osx/.<br >
    • Project can be build from the root directory by running make osx-release64 (or similar).<br > <br >

Screenshots

cmftStudioAplha1 cmftStudioSpheres0 cmftStudioWin5 cmftStudioOsx1 cmftStudioWin4 cmftStudioOsx0 cmftStudioWin3 cmftStudioSpheres1

Planned features

  • Add full screen support.
  • Add support for rendering transparent materials.
  • Add GGX specular filter and shading model.

Discussion

Environment maps

Recommended tools

Similar projects

  • CubeMapGen - A well known tool for cubemap filtering from AMD.<br >
  • IblBaker - A similar open-source project.
  • Marmoset Skyshop - Commercial plugin for Unity3D Game engine.
  • Knald Lys - Commercial tool from KnaldTech.

Contribution

Everyone is welcome to contribute to cmftStudio by submitting code, bug reports, feature requests, testing on different platforms, profiling, etc.

When contributing to the cmftStudio project you must agree to the BSD 2-clause licensing terms.

Resources

Thanks to

  • Marko Radak - Initial cover photo design and realization.
  • Dorian Cioban - Additional cover photo improvements.
  • All authors of used assets in the project.

Contact

Reach me via Twitter: @dariomanesku.

Copyright 2014-2015 Dario Manesku. All rights reserved.

https://github.com/dariomanesku/cmftStudio

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

   1. Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.

   2. Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Disclaimer

Licence applies only to cmftStudio project, NOT including the assets supplied in the sample projects. If you wish to use available third party resources, for any purpose, you must contact their respected authors/companies personally.

cmftstudio's People

Contributors

andrewjdr avatar dariomanesku avatar

Stargazers

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

Watchers

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

cmftstudio's Issues

how to compile the shader?

i want to modify some shader, but i don't known how to compile the shader.
it seems that you create shader from the compiled binary code.
can you tell me how to compile the shader?
thanks.

Gamma / brightness issues

Why are .hdr images so dark by default on OSX?

Tonemapped skybox looks ok-ish but the reflection map and irradiance are too dark. I the example scene I can barely see any IBL diffuse. Here is example with custom texture. Also bloom has very overexposed look (kind of first gen HDR before IBL/PBR), something is not right here.

screen shot 2015-06-27 at 14 15 47

screen shot 2015-06-27 at 14 15 38

Does cmftStudio create diffuse irradiance / specular cube map?

Sorry for this newbie question:

  • I am trying to figure out if cmftStudio does what IBLBaker can do.

  • In particular, I am trying to understand if the "irradiance" and "radiance" cube map it creates are the same as "diffuse irradiance" and "specular".

  • While the output DDS cube map looks fine, for some reasons they appear way too bright when applied in Maya.

For a comparison:

The diffuse cube map Maya uses by default seem rather faint.

screen shot 2017-09-07 at 00 14 40

screen shot 2017-09-07 at 00 14 45

And thus they result in quite different rendering.

screen shot 2017-09-07 at 00 14 54

screen shot 2017-09-07 at 00 15 05

I believe Maya's Stinyray PBS material does use PBR IBL, so my question is, are there somehow multiple implementation of IBL? Why would Maya requires a faint Diffuse and Specular map?

The OS X build

Hi everyone!
I'm sorry, but it's a problem for me to build the program, because I don't have XCode installed. I'm on MacBook Air 120GB, so I just don't have enough space to install it (XCode requires ~15-20GB). I hope there's somebody who already has built it.

I'd be very glad if you share the build. Thank you! :-)

Correction of the html page here

""""""""""""""""""""
Installing
Windows: No installation available. Put the cmftStudio.exe along with cmftStudio.conf in a desired folder and use it from there
Linux: Use make install and make uninstall. This will create /usr/local/bin/cmftStudio and a desktop shortcut.
""""""""""""""""""""

To prevent errors, it's important to correct this, please:
you must change the command with sudo make linux-install and sudo make linux-uninstall please.

Exporting to dds for BabylonJS does not work?

Hello,

I am not sure that I am using your software properly :) I am trying to convert a .hdr image to a cubemap .dds file compatible with BabylonJS (a web game/3D engine).

Here is the picture I want to convert to .dds:
https://hdrihaven.com/hdri/?c=outdoor&h=spruit_sunrise

You can see screenshots of the problem I am facing in the thread I started here on BabylonJS forum:
https://forum.babylonjs.com/t/pbr-material-how-to-make-roughness-work-as-in-blender-2-80/5636/8

It seems that either I am not exporting to .dds the right way, or there is something that makes it incompatible with BabylonJS... Any idea?

Doesn't compile on linux with GCC 6.1.1

Hi, I'm trying to get this to run on Arch Linux and I'm getting this:

$ make linux
./dependency/bx/tools/bin/linux/genie --unity-build --with-amalgamated --file=scripts/main.lua --gcc=linux-gcc gmake
Building configurations...
Running action 'gmake'...
Generating _projects/gmake-linux/Makefile...
Generating _projects/gmake-linux/bgfx.make...
Generating _projects/gmake-linux/example-common.make...
Generating _projects/gmake-linux/cmft.make...
Generating _projects/gmake-linux/rawcompress.make...
Generating _projects/gmake-linux/cmftStudio.make...
Done.
make -R -C _projects/gmake-linux config=debug32
make[1]: Entering directory '/home/spacepluk/hacking/cmftStudio/_projects/gmake-linux'
==== Building bgfx (debug32) ====
Creating ../../_build/linux32_gcc/bin
Creating ../../_build/linux32_gcc/obj/x32/Debug/bgfx
Creating ../../_build/linux32_gcc/obj/x32/Debug/bgfx/dependency/bgfx/src
amalgamated.cpp
Archiving bgfx
==== Building example-common (debug32) ====
Creating ../../_build/linux32_gcc/obj/x32/Debug/example-common
Creating ../../_build/linux32_gcc/obj/x32/Debug/example-common/dependency/bgfx/examples/common
Creating ../../_build/linux32_gcc/obj/x32/Debug/example-common/dependency/bgfx/examples/common/entry
Creating ../../_build/linux32_gcc/obj/x32/Debug/example-common/dependency/bgfx/3rdparty/ib-compress
Creating ../../_build/linux32_gcc/obj/x32/Debug/example-common/dependency/bgfx/examples/common/imgui
Creating ../../_build/linux32_gcc/obj/x32/Debug/example-common/dependency/bgfx/examples/common/font
Creating ../../_build/linux32_gcc/obj/x32/Debug/example-common/dependency/bgfx/examples/common/nanovg
Creating ../../_build/linux32_gcc/obj/x32/Debug/example-common/dependency/bgfx/3rdparty/ocornut-imgui
indexbuffercompression.cpp
indexbufferdecompression.cpp
imgui_draw.cpp
imgui_node_graph_test.cpp
imgui.cpp
imgui_demo.cpp
../../dependency/bgfx/3rdparty/ocornut-imgui/imgui_demo.cpp: In function ‘void ImGui::ShowTestWindow(bool*)’:
../../dependency/bgfx/3rdparty/ocornut-imgui/imgui_demo.cpp:1269:9: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
         if (ImGui::CollapsingHeader("Category A")) ImGui::Text("Blah blah blah"); ImGui::NextColumn();
         ^~
../../dependency/bgfx/3rdparty/ocornut-imgui/imgui_demo.cpp:1269:83: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
         if (ImGui::CollapsingHeader("Category A")) ImGui::Text("Blah blah blah"); ImGui::NextColumn();
                                                                                   ^~~~~
../../dependency/bgfx/3rdparty/ocornut-imgui/imgui_demo.cpp:1270:9: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
         if (ImGui::CollapsingHeader("Category B")) ImGui::Text("Blah blah blah"); ImGui::NextColumn();
         ^~
../../dependency/bgfx/3rdparty/ocornut-imgui/imgui_demo.cpp:1270:83: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
         if (ImGui::CollapsingHeader("Category B")) ImGui::Text("Blah blah blah"); ImGui::NextColumn();
                                                                                   ^~~~~
../../dependency/bgfx/3rdparty/ocornut-imgui/imgui_demo.cpp:1271:9: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
         if (ImGui::CollapsingHeader("Category C")) ImGui::Text("Blah blah blah"); ImGui::NextColumn();
         ^~
../../dependency/bgfx/3rdparty/ocornut-imgui/imgui_demo.cpp:1271:83: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
         if (ImGui::CollapsingHeader("Category C")) ImGui::Text("Blah blah blah"); ImGui::NextColumn();
                                                                                   ^~~~~
../../dependency/bgfx/3rdparty/ocornut-imgui/imgui_demo.cpp: In member function ‘void ExampleAppConsole::Draw(const char*, bool*)’:
../../dependency/bgfx/3rdparty/ocornut-imgui/imgui_demo.cpp:1827:9: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
         if (ImGui::SmallButton("Add Dummy Error")) AddLog("[error] something went wrong"); ImGui::SameLine();
         ^~
../../dependency/bgfx/3rdparty/ocornut-imgui/imgui_demo.cpp:1827:92: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
         if (ImGui::SmallButton("Add Dummy Error")) AddLog("[error] something went wrong"); ImGui::SameLine();
                                                                                            ^~~~~
../../dependency/bgfx/3rdparty/ocornut-imgui/imgui_demo.cpp:1872:13: warning: this ‘while’ clause does not guard... [-Wmisleading-indentation]
             while (input_end > InputBuf && input_end[-1] == ' ') input_end--; *input_end = 0;
             ^~~~~
../../dependency/bgfx/3rdparty/ocornut-imgui/imgui_demo.cpp:1872:79: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘while’
             while (input_end > InputBuf && input_end[-1] == ' ') input_end--; *input_end = 0;
                                                                               ^
imgui_wm.cpp
cube_atlas.cpp
bgfx_utils.cpp
bounds.cpp
camera.cpp
entry_winrt.cpp
input.cpp
entry_asmjs.cpp
entry_sdl.cpp
entry.cpp
entry_x11.cpp
entry_windows.cpp
entry_glfw.cpp
entry_nacl.cpp
cmd.cpp
entry_android.cpp
dbg.cpp
entry_qnx.cpp
nanovg_bgfx.cpp
nanovg.cpp
In file included from ../../dependency/bgfx/examples/common/nanovg/nanovg.cpp:41:0:
../../dependency/bgfx/3rdparty/stb/stb_image.c: In function ‘unsigned char* stbi__convert_format(unsigned char*, int, int, unsigned int, unsigned int)’:
../../dependency/bgfx/3rdparty/stb/stb_image.c:1346:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:1350:10: note: in expansion of macro ‘CASE’
          CASE(1,2) dest[0]=src[0], dest[1]=255; break;
          ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1350:49: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(1,2) dest[0]=src[0], dest[1]=255; break;
                                                 ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1346:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:1351:10: note: in expansion of macro ‘CASE’
          CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; break;
          ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1351:52: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; break;
                                                    ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1346:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:1352:10: note: in expansion of macro ‘CASE’
          CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; break;
          ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1352:65: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; break;
                                                                 ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1346:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:1353:10: note: in expansion of macro ‘CASE’
          CASE(2,1) dest[0]=src[0]; break;
          ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1353:36: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(2,1) dest[0]=src[0]; break;
                                    ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1346:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:1354:10: note: in expansion of macro ‘CASE’
          CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; break;
          ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1354:52: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; break;
                                                    ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1346:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:1355:10: note: in expansion of macro ‘CASE’
          CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; break;
          ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1355:68: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; break;
                                                                    ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1346:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:1356:10: note: in expansion of macro ‘CASE’
          CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; break;
          ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1356:78: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; break;
                                                                              ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1346:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:1357:10: note: in expansion of macro ‘CASE’
          CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;
          ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1357:67: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;
                                                                   ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1346:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:1358:10: note: in expansion of macro ‘CASE’
          CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; break;
          ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1358:82: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; break;
                                                                                  ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1346:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:1359:10: note: in expansion of macro ‘CASE’
          CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;
          ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1359:67: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;
                                                                   ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1346:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:1360:10: note: in expansion of macro ‘CASE’
          CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; break;
          ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1360:85: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; break;
                                                                                     ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1346:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:1361:10: note: in expansion of macro ‘CASE’
          CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; break;
          ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:1361:66: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; break;
                                                                  ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c: In function ‘void stbi__build_fast_ac(stbi__int16*, stbi__huffman*)’:
../../dependency/bgfx/3rdparty/stb/stb_image.c:1565:36: warning: left shift of negative value [-Wshift-negative-value]
             if (k < m) k += (-1 << magbits) + 1;
                                    ^~~~~~~
In file included from ../../dependency/bgfx/examples/common/nanovg/nanovg.cpp:41:0:
../../dependency/bgfx/3rdparty/stb/stb_image.c: In function ‘int stbi__create_png_image_raw(stbi__png*, stbi_uc*, stbi__uint32, int, stbi__uint32, stbi__uint32, int, int)’:
../../dependency/bgfx/3rdparty/stb/stb_image.c:4035:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                 for (k=0; k < nk; ++k)
                 ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4039:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4039:95: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break;
                                                                                               ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4035:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                 for (k=0; k < nk; ++k)
                 ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4040:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4040:84: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;
                                                                                    ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4035:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                 for (k=0; k < nk; ++k)
                 ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4041:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4041:113: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break;
                                                                                                                 ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4035:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                 for (k=0; k < nk; ++k)
                 ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4042:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4042:139: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break;
                                                                                                                                           ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4035:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                 for (k=0; k < nk; ++k)
                 ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4043:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4043:102: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break;
                                                                                                      ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4035:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                 for (k=0; k < nk; ++k)
                 ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4044:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4044:112: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break;
                                                                                                                ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4053:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4055:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_none)         cur[k] = raw[k]; break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4055:57: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_none)         cur[k] = raw[k]; break;
                                                         ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4053:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4056:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4056:88: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break;
                                                                                        ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4053:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4057:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4057:84: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;
                                                                                    ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4053:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4058:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4058:106: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break;
                                                                                                          ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4053:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4059:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4059:125: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break;
                                                                                                                             ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4053:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4060:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4060:95: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break;
                                                                                               ^~~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4053:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/bgfx/3rdparty/stb/stb_image.c:4061:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break;
             ^~~~
../../dependency/bgfx/3rdparty/stb/stb_image.c:4061:105: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break;
                                                                                                         ^~~~~
ocornut_imgui.cpp
imgui.cpp
scintilla.cpp
text_buffer_manager.cpp
text_metrics.cpp
font_manager.cpp
utf8.cpp
Archiving example-common
==== Building cmft (debug32) ====
Creating ../../_build/linux32_gcc/obj/x32/Debug/cmft
Creating ../../_build/linux32_gcc/obj/x32/Debug/cmft/dependency/cmft/src/cmft/base
allocator.cpp
image.cpp
clcontext.cpp
cubemapfilter.cpp
stb_image.cpp
In file included from /usr/include/c++/6.1.1/cmath:43:0,
                 from /usr/include/c++/6.1.1/math.h:36,
                 from ../../dependency/cmft/dependency/stb/stb_image.h:566,
                 from ../../dependency/cmft/src/cmft/base/stb_image.cpp:15:
/usr/include/c++/6.1.1/ext/type_traits.h:162:35: error: ‘stb::__gnu_cxx::__is_null_pointer’ declared as an ‘inline’ variable
   __is_null_pointer(std::nullptr_t)
                                   ^
/usr/include/c++/6.1.1/ext/type_traits.h:162:35: error: ‘bool stb::__gnu_cxx::__is_null_pointer’ redeclared as different kind of symbol
/usr/include/c++/6.1.1/ext/type_traits.h:157:5: note: previous declaration ‘template<class _Type> bool stb::__gnu_cxx::__is_null_pointer(_Type)’
     __is_null_pointer(_Type)
     ^~~~~~~~~~~~~~~~~
/usr/include/c++/6.1.1/ext/type_traits.h:162:21: error: ‘nullptr_t’ is not a member of ‘stb::std’
   __is_null_pointer(std::nullptr_t)
                     ^~~
/usr/include/c++/6.1.1/ext/type_traits.h:162:21: note: suggested alternatives:
In file included from /usr/include/c++/6.1.1/cstdlib:41:0,
                 from /usr/include/c++/6.1.1/stdlib.h:36,
                 from ../../dependency/cmft/dependency/bx/include/bx/bx.h:10,
                 from ../../dependency/cmft/dependency/bx/include/bx/macros.h:9,
                 from ../../dependency/cmft/src/cmft/base/stb_image.h:9,
                 from ../../dependency/cmft/src/cmft/base/stb_image.cpp:6:
/usr/include/c++/6.1.1/x86_64-pc-linux-gnu/32/bits/c++config.h:202:29: note:   ‘std::nullptr_t’
   typedef decltype(nullptr) nullptr_t;
                             ^~~~~~~~~
In file included from ../../dependency/cmft/dependency/stb/stb_image.h:561:0,
                 from ../../dependency/cmft/src/cmft/base/stb_image.cpp:15:
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/include/stddef.h:436:29: note:   ‘stb::nullptr_t’
   typedef decltype(nullptr) nullptr_t;
                             ^~~~~~~~~
In file included from /usr/include/c++/6.1.1/math.h:36:0,
                 from ../../dependency/cmft/dependency/stb/stb_image.h:566,
                 from ../../dependency/cmft/src/cmft/base/stb_image.cpp:15:
/usr/include/c++/6.1.1/cmath:106:11: error: ‘::acos’ has not been declared
   using ::acos;
           ^~~~
/usr/include/c++/6.1.1/cmath:125:11: error: ‘::asin’ has not been declared
   using ::asin;
           ^~~~
/usr/include/c++/6.1.1/cmath:144:11: error: ‘::atan’ has not been declared
   using ::atan;
           ^~~~
/usr/include/c++/6.1.1/cmath:163:11: error: ‘::atan2’ has not been declared
   using ::atan2;
           ^~~~~
/usr/include/c++/6.1.1/cmath:184:11: error: ‘::ceil’ has not been declared
   using ::ceil;
           ^~~~
/usr/include/c++/6.1.1/cmath:203:11: error: ‘::cos’ has not been declared
   using ::cos;
           ^~~
/usr/include/c++/6.1.1/cmath:222:11: error: ‘::cosh’ has not been declared
   using ::cosh;
           ^~~~
/usr/include/c++/6.1.1/cmath:241:11: error: ‘::exp’ has not been declared
   using ::exp;
           ^~~
/usr/include/c++/6.1.1/cmath:260:11: error: ‘::fabs’ has not been declared
   using ::fabs;
           ^~~~
/usr/include/c++/6.1.1/cmath:279:11: error: ‘::floor’ has not been declared
   using ::floor;
           ^~~~~
/usr/include/c++/6.1.1/cmath:298:11: error: ‘::fmod’ has not been declared
   using ::fmod;
           ^~~~
/usr/include/c++/6.1.1/cmath:319:11: error: ‘::frexp’ has not been declared
   using ::frexp;
           ^~~~~
/usr/include/c++/6.1.1/cmath:338:11: error: ‘::ldexp’ has not been declared
   using ::ldexp;
           ^~~~~
/usr/include/c++/6.1.1/cmath:357:11: error: ‘::log’ has not been declared
   using ::log;
           ^~~
/usr/include/c++/6.1.1/cmath:376:11: error: ‘::log10’ has not been declared
   using ::log10;
           ^~~~~
/usr/include/c++/6.1.1/cmath:395:11: error: ‘::modf’ has not been declared
   using ::modf;
           ^~~~
/usr/include/c++/6.1.1/cmath:407:11: error: ‘::pow’ has not been declared
   using ::pow;
           ^~~
/usr/include/c++/6.1.1/cmath:444:11: error: ‘::sin’ has not been declared
   using ::sin;
           ^~~
/usr/include/c++/6.1.1/cmath:463:11: error: ‘::sinh’ has not been declared
   using ::sinh;
           ^~~~
/usr/include/c++/6.1.1/cmath:482:11: error: ‘::sqrt’ has not been declared
   using ::sqrt;
           ^~~~
/usr/include/c++/6.1.1/cmath:501:11: error: ‘::tan’ has not been declared
   using ::tan;
           ^~~
/usr/include/c++/6.1.1/cmath:520:11: error: ‘::tanh’ has not been declared
   using ::tanh;
           ^~~~
/usr/include/c++/6.1.1/cmath:1077:11: error: ‘::double_t’ has not been declared
   using ::double_t;
           ^~~~~~~~
/usr/include/c++/6.1.1/cmath:1078:11: error: ‘::float_t’ has not been declared
   using ::float_t;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1081:11: error: ‘::acosh’ has not been declared
   using ::acosh;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1082:11: error: ‘::acoshf’ has not been declared
   using ::acoshf;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1083:11: error: ‘::acoshl’ has not been declared
   using ::acoshl;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1085:11: error: ‘::asinh’ has not been declared
   using ::asinh;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1086:11: error: ‘::asinhf’ has not been declared
   using ::asinhf;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1087:11: error: ‘::asinhl’ has not been declared
   using ::asinhl;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1089:11: error: ‘::atanh’ has not been declared
   using ::atanh;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1090:11: error: ‘::atanhf’ has not been declared
   using ::atanhf;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1091:11: error: ‘::atanhl’ has not been declared
   using ::atanhl;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1093:11: error: ‘::cbrt’ has not been declared
   using ::cbrt;
           ^~~~
/usr/include/c++/6.1.1/cmath:1094:11: error: ‘::cbrtf’ has not been declared
   using ::cbrtf;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1095:11: error: ‘::cbrtl’ has not been declared
   using ::cbrtl;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1097:11: error: ‘::copysign’ has not been declared
   using ::copysign;
           ^~~~~~~~
/usr/include/c++/6.1.1/cmath:1098:11: error: ‘::copysignf’ has not been declared
   using ::copysignf;
           ^~~~~~~~~
/usr/include/c++/6.1.1/cmath:1099:11: error: ‘::copysignl’ has not been declared
   using ::copysignl;
           ^~~~~~~~~
/usr/include/c++/6.1.1/cmath:1101:11: error: ‘::erf’ has not been declared
   using ::erf;
           ^~~
/usr/include/c++/6.1.1/cmath:1102:11: error: ‘::erff’ has not been declared
   using ::erff;
           ^~~~
/usr/include/c++/6.1.1/cmath:1103:11: error: ‘::erfl’ has not been declared
   using ::erfl;
           ^~~~
/usr/include/c++/6.1.1/cmath:1105:11: error: ‘::erfc’ has not been declared
   using ::erfc;
           ^~~~
/usr/include/c++/6.1.1/cmath:1106:11: error: ‘::erfcf’ has not been declared
   using ::erfcf;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1107:11: error: ‘::erfcl’ has not been declared
   using ::erfcl;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1109:11: error: ‘::exp2’ has not been declared
   using ::exp2;
           ^~~~
/usr/include/c++/6.1.1/cmath:1110:11: error: ‘::exp2f’ has not been declared
   using ::exp2f;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1111:11: error: ‘::exp2l’ has not been declared
   using ::exp2l;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1113:11: error: ‘::expm1’ has not been declared
   using ::expm1;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1114:11: error: ‘::expm1f’ has not been declared
   using ::expm1f;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1115:11: error: ‘::expm1l’ has not been declared
   using ::expm1l;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1117:11: error: ‘::fdim’ has not been declared
   using ::fdim;
           ^~~~
/usr/include/c++/6.1.1/cmath:1118:11: error: ‘::fdimf’ has not been declared
   using ::fdimf;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1119:11: error: ‘::fdiml’ has not been declared
   using ::fdiml;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1121:11: error: ‘::fma’ has not been declared
   using ::fma;
           ^~~
/usr/include/c++/6.1.1/cmath:1122:11: error: ‘::fmaf’ has not been declared
   using ::fmaf;
           ^~~~
/usr/include/c++/6.1.1/cmath:1123:11: error: ‘::fmal’ has not been declared
   using ::fmal;
           ^~~~
/usr/include/c++/6.1.1/cmath:1125:11: error: ‘::fmax’ has not been declared
   using ::fmax;
           ^~~~
/usr/include/c++/6.1.1/cmath:1126:11: error: ‘::fmaxf’ has not been declared
   using ::fmaxf;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1127:11: error: ‘::fmaxl’ has not been declared
   using ::fmaxl;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1129:11: error: ‘::fmin’ has not been declared
   using ::fmin;
           ^~~~
/usr/include/c++/6.1.1/cmath:1130:11: error: ‘::fminf’ has not been declared
   using ::fminf;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1131:11: error: ‘::fminl’ has not been declared
   using ::fminl;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1133:11: error: ‘::hypot’ has not been declared
   using ::hypot;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1134:11: error: ‘::hypotf’ has not been declared
   using ::hypotf;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1135:11: error: ‘::hypotl’ has not been declared
   using ::hypotl;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1137:11: error: ‘::ilogb’ has not been declared
   using ::ilogb;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1138:11: error: ‘::ilogbf’ has not been declared
   using ::ilogbf;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1139:11: error: ‘::ilogbl’ has not been declared
   using ::ilogbl;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1141:11: error: ‘::lgamma’ has not been declared
   using ::lgamma;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1142:11: error: ‘::lgammaf’ has not been declared
   using ::lgammaf;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1143:11: error: ‘::lgammal’ has not been declared
   using ::lgammal;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1145:11: error: ‘::llrint’ has not been declared
   using ::llrint;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1146:11: error: ‘::llrintf’ has not been declared
   using ::llrintf;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1147:11: error: ‘::llrintl’ has not been declared
   using ::llrintl;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1149:11: error: ‘::llround’ has not been declared
   using ::llround;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1150:11: error: ‘::llroundf’ has not been declared
   using ::llroundf;
           ^~~~~~~~
/usr/include/c++/6.1.1/cmath:1151:11: error: ‘::llroundl’ has not been declared
   using ::llroundl;
           ^~~~~~~~
/usr/include/c++/6.1.1/cmath:1153:11: error: ‘::log1p’ has not been declared
   using ::log1p;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1154:11: error: ‘::log1pf’ has not been declared
   using ::log1pf;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1155:11: error: ‘::log1pl’ has not been declared
   using ::log1pl;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1157:11: error: ‘::log2’ has not been declared
   using ::log2;
           ^~~~
/usr/include/c++/6.1.1/cmath:1158:11: error: ‘::log2f’ has not been declared
   using ::log2f;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1159:11: error: ‘::log2l’ has not been declared
   using ::log2l;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1161:11: error: ‘::logb’ has not been declared
   using ::logb;
           ^~~~
/usr/include/c++/6.1.1/cmath:1162:11: error: ‘::logbf’ has not been declared
   using ::logbf;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1163:11: error: ‘::logbl’ has not been declared
   using ::logbl;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1165:11: error: ‘::lrint’ has not been declared
   using ::lrint;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1166:11: error: ‘::lrintf’ has not been declared
   using ::lrintf;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1167:11: error: ‘::lrintl’ has not been declared
   using ::lrintl;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1169:11: error: ‘::lround’ has not been declared
   using ::lround;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1170:11: error: ‘::lroundf’ has not been declared
   using ::lroundf;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1171:11: error: ‘::lroundl’ has not been declared
   using ::lroundl;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1173:11: error: ‘::nan’ has not been declared
   using ::nan;
           ^~~
/usr/include/c++/6.1.1/cmath:1174:11: error: ‘::nanf’ has not been declared
   using ::nanf;
           ^~~~
/usr/include/c++/6.1.1/cmath:1175:11: error: ‘::nanl’ has not been declared
   using ::nanl;
           ^~~~
/usr/include/c++/6.1.1/cmath:1177:11: error: ‘::nearbyint’ has not been declared
   using ::nearbyint;
           ^~~~~~~~~
/usr/include/c++/6.1.1/cmath:1178:11: error: ‘::nearbyintf’ has not been declared
   using ::nearbyintf;
           ^~~~~~~~~~
/usr/include/c++/6.1.1/cmath:1179:11: error: ‘::nearbyintl’ has not been declared
   using ::nearbyintl;
           ^~~~~~~~~~
/usr/include/c++/6.1.1/cmath:1181:11: error: ‘::nextafter’ has not been declared
   using ::nextafter;
           ^~~~~~~~~
/usr/include/c++/6.1.1/cmath:1182:11: error: ‘::nextafterf’ has not been declared
   using ::nextafterf;
           ^~~~~~~~~~
/usr/include/c++/6.1.1/cmath:1183:11: error: ‘::nextafterl’ has not been declared
   using ::nextafterl;
           ^~~~~~~~~~
/usr/include/c++/6.1.1/cmath:1185:11: error: ‘::nexttoward’ has not been declared
   using ::nexttoward;
           ^~~~~~~~~~
/usr/include/c++/6.1.1/cmath:1186:11: error: ‘::nexttowardf’ has not been declared
   using ::nexttowardf;
           ^~~~~~~~~~~
/usr/include/c++/6.1.1/cmath:1187:11: error: ‘::nexttowardl’ has not been declared
   using ::nexttowardl;
           ^~~~~~~~~~~
/usr/include/c++/6.1.1/cmath:1189:11: error: ‘::remainder’ has not been declared
   using ::remainder;
           ^~~~~~~~~
/usr/include/c++/6.1.1/cmath:1190:11: error: ‘::remainderf’ has not been declared
   using ::remainderf;
           ^~~~~~~~~~
/usr/include/c++/6.1.1/cmath:1191:11: error: ‘::remainderl’ has not been declared
   using ::remainderl;
           ^~~~~~~~~~
/usr/include/c++/6.1.1/cmath:1193:11: error: ‘::remquo’ has not been declared
   using ::remquo;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1194:11: error: ‘::remquof’ has not been declared
   using ::remquof;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1195:11: error: ‘::remquol’ has not been declared
   using ::remquol;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1197:11: error: ‘::rint’ has not been declared
   using ::rint;
           ^~~~
/usr/include/c++/6.1.1/cmath:1198:11: error: ‘::rintf’ has not been declared
   using ::rintf;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1199:11: error: ‘::rintl’ has not been declared
   using ::rintl;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1201:11: error: ‘::round’ has not been declared
   using ::round;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1202:11: error: ‘::roundf’ has not been declared
   using ::roundf;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1203:11: error: ‘::roundl’ has not been declared
   using ::roundl;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1205:11: error: ‘::scalbln’ has not been declared
   using ::scalbln;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1206:11: error: ‘::scalblnf’ has not been declared
   using ::scalblnf;
           ^~~~~~~~
/usr/include/c++/6.1.1/cmath:1207:11: error: ‘::scalblnl’ has not been declared
   using ::scalblnl;
           ^~~~~~~~
/usr/include/c++/6.1.1/cmath:1209:11: error: ‘::scalbn’ has not been declared
   using ::scalbn;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1210:11: error: ‘::scalbnf’ has not been declared
   using ::scalbnf;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1211:11: error: ‘::scalbnl’ has not been declared
   using ::scalbnl;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1213:11: error: ‘::tgamma’ has not been declared
   using ::tgamma;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1214:11: error: ‘::tgammaf’ has not been declared
   using ::tgammaf;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1215:11: error: ‘::tgammal’ has not been declared
   using ::tgammal;
           ^~~~~~~
/usr/include/c++/6.1.1/cmath:1217:11: error: ‘::trunc’ has not been declared
   using ::trunc;
           ^~~~~
/usr/include/c++/6.1.1/cmath:1218:11: error: ‘::truncf’ has not been declared
   using ::truncf;
           ^~~~~~
/usr/include/c++/6.1.1/cmath:1219:11: error: ‘::truncl’ has not been declared
   using ::truncl;
           ^~~~~~
In file included from ../../dependency/cmft/src/cmft/base/stb_image.cpp:15:0:
../../dependency/cmft/dependency/stb/stb_image.h: In function ‘unsigned char* stb::stbi__convert_format(unsigned char*, int, int, unsigned int, unsigned int)’:
../../dependency/cmft/dependency/stb/stb_image.h:1338:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/cmft/dependency/stb/stb_image.h:1342:10: note: in expansion of macro ‘CASE’
          CASE(1,2) dest[0]=src[0], dest[1]=255; break;
          ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:1342:49: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(1,2) dest[0]=src[0], dest[1]=255; break;
                                                 ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:1338:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/cmft/dependency/stb/stb_image.h:1343:10: note: in expansion of macro ‘CASE’
          CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; break;
          ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:1343:52: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(1,3) dest[0]=dest[1]=dest[2]=src[0]; break;
                                                    ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:1338:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/cmft/dependency/stb/stb_image.h:1344:10: note: in expansion of macro ‘CASE’
          CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; break;
          ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:1344:65: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(1,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=255; break;
                                                                 ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:1338:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/cmft/dependency/stb/stb_image.h:1345:10: note: in expansion of macro ‘CASE’
          CASE(2,1) dest[0]=src[0]; break;
          ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:1345:36: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(2,1) dest[0]=src[0]; break;
                                    ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:1338:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/cmft/dependency/stb/stb_image.h:1346:10: note: in expansion of macro ‘CASE’
          CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; break;
          ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:1346:52: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(2,3) dest[0]=dest[1]=dest[2]=src[0]; break;
                                                    ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:1338:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/cmft/dependency/stb/stb_image.h:1347:10: note: in expansion of macro ‘CASE’
          CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; break;
          ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:1347:68: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(2,4) dest[0]=dest[1]=dest[2]=src[0], dest[3]=src[1]; break;
                                                                    ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:1338:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/cmft/dependency/stb/stb_image.h:1348:10: note: in expansion of macro ‘CASE’
          CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; break;
          ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:1348:78: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(3,4) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2],dest[3]=255; break;
                                                                              ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:1338:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/cmft/dependency/stb/stb_image.h:1349:10: note: in expansion of macro ‘CASE’
          CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;
          ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:1349:67: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(3,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;
                                                                   ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:1338:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/cmft/dependency/stb/stb_image.h:1350:10: note: in expansion of macro ‘CASE’
          CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; break;
          ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:1350:82: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(3,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = 255; break;
                                                                                  ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:1338:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/cmft/dependency/stb/stb_image.h:1351:10: note: in expansion of macro ‘CASE’
          CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;
          ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:1351:67: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(4,1) dest[0]=stbi__compute_y(src[0],src[1],src[2]); break;
                                                                   ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:1338:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/cmft/dependency/stb/stb_image.h:1352:10: note: in expansion of macro ‘CASE’
          CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; break;
          ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:1352:85: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(4,2) dest[0]=stbi__compute_y(src[0],src[1],src[2]), dest[1] = src[3]; break;
                                                                                     ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:1338:44: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
       #define CASE(a,b)   case COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b)
                                            ^
../../dependency/cmft/dependency/stb/stb_image.h:1353:10: note: in expansion of macro ‘CASE’
          CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; break;
          ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:1353:66: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
          CASE(4,3) dest[0]=src[0],dest[1]=src[1],dest[2]=src[2]; break;
                                                                  ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h: In function ‘void stb::stbi__build_fast_ac(stb::stbi__int16*, stb::stbi__huffman*)’:
../../dependency/cmft/dependency/stb/stb_image.h:1557:36: warning: left shift of negative value [-Wshift-negative-value]
             if (k < m) k += (-1 << magbits) + 1;
                                    ^~~~~~~
In file included from ../../dependency/cmft/src/cmft/base/stb_image.cpp:15:0:
../../dependency/cmft/dependency/stb/stb_image.h: In function ‘int stb::stbi__create_png_image_raw(stb::stbi__png*, stb::stbi_uc*, stb::stbi__uint32, int, stb::stbi__uint32, stb::stbi__uint32, int, int)’:
../../dependency/cmft/dependency/stb/stb_image.h:4027:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                 for (k=0; k < nk; ++k)
                 ^
../../dependency/cmft/dependency/stb/stb_image.h:4031:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4031:95: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); break;
                                                                                               ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:4027:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                 for (k=0; k < nk; ++k)
                 ^
../../dependency/cmft/dependency/stb/stb_image.h:4032:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4032:84: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;
                                                                                    ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:4027:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                 for (k=0; k < nk; ++k)
                 ^
../../dependency/cmft/dependency/stb/stb_image.h:4033:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4033:113: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); break;
                                                                                                                 ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:4027:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                 for (k=0; k < nk; ++k)
                 ^
../../dependency/cmft/dependency/stb/stb_image.h:4034:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4034:139: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); break;
                                                                                                                                           ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:4027:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                 for (k=0; k < nk; ++k)
                 ^
../../dependency/cmft/dependency/stb/stb_image.h:4035:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4035:102: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); break;
                                                                                                      ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:4027:17: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                 for (k=0; k < nk; ++k)
                 ^
../../dependency/cmft/dependency/stb/stb_image.h:4036:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4036:112: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); break;
                                                                                                                ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:4045:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/cmft/dependency/stb/stb_image.h:4047:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_none)         cur[k] = raw[k]; break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4047:57: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_none)         cur[k] = raw[k]; break;
                                                         ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:4045:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/cmft/dependency/stb/stb_image.h:4048:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4048:88: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_sub)          cur[k] = STBI__BYTECAST(raw[k] + cur[k-out_n]); break;
                                                                                        ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:4045:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/cmft/dependency/stb/stb_image.h:4049:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4049:84: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_up)           cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break;
                                                                                    ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:4045:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/cmft/dependency/stb/stb_image.h:4050:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4050:106: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_avg)          cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-out_n])>>1)); break;
                                                                                                          ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:4045:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/cmft/dependency/stb/stb_image.h:4051:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4051:125: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_paeth)        cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],prior[k],prior[k-out_n])); break;
                                                                                                                             ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:4045:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/cmft/dependency/stb/stb_image.h:4052:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4052:95: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_avg_first)    cur[k] = STBI__BYTECAST(raw[k] + (cur[k-out_n] >> 1)); break;
                                                                                               ^~~~~
../../dependency/cmft/dependency/stb/stb_image.h:4045:20: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
                    for (k=0; k < img_n; ++k)
                    ^
../../dependency/cmft/dependency/stb/stb_image.h:4053:13: note: in expansion of macro ‘CASE’
             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break;
             ^~~~
../../dependency/cmft/dependency/stb/stb_image.h:4053:105: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
             CASE(STBI__F_paeth_first)  cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-out_n],0,0)); break;
                                                                                                         ^~~~~
make[2]: *** [cmft.make:229: ../../_build/linux32_gcc/obj/x32/Debug/cmft/dependency/cmft/src/cmft/base/stb_image.o] Error 1
make[1]: *** [Makefile:25: cmft] Error 2
make[1]: Leaving directory '/home/spacepluk/hacking/cmftStudio/_projects/gmake-linux'
make: *** [Makefile:103: linux-debug32] Error 2

Outdated binaries

Binaries available for download from the main project page are outdated (2015) and don't include several important changes (corrected DDS export is the one I'm most interested in). Will it be possible to update them? I'd expect most people use them rather than building from source and are stuck using old version of this amazing software.

Rotate the cubemap?

Hi,

Just wondering if there is a solution to rotating the HDR environment map and then generate a cubemap. Seems like Lys can do this, not sure cmftStudio currently offers it.

For some weird reasons Maya wants an IBL cubemap with Y+ in the middle, eg:

screen shot 2017-12-28 at 03 36 39

But I only have panorama HDR or standard cubemap with Z+/X+ in the middle. Hence the question.

(Happy Holiday!)

OSX build broken (fix in comment)

Tried to build using make osx-release64 but got multiple "duplicate symbol" errors from the linker. Fixed by hand editing cmftStudio.make to exclude three files in a couple places:

$(OBJDIR)/dependency/bgfx/src/glcontext_eagl.o \
$(OBJDIR)/dependency/bgfx/src/glcontext_nsgl.o \
$(OBJDIR)/dependency/bgfx/src/renderer_mtl.o \

Those are already included in the amalgamation.mm file. Don't know if cmftStudio.make is the right place to fix this, but doing this helped me get a working build.

Aspect ratio

Apparently it wasn't tested with anything except 1920x1080? (Win7)

cmfts

UPD: Enlarging the window fixes this problem

DDS codec generation for babylonis

Hey, I don't know if its an issue, but I got an error in babylonJS with DDS load : Unsupported FourCC code: DX10

is it possible to lower the DX compression to 3, or 1 ?

Maybe Iam wrong with the DDS setting. Thanks in advance

Files browser

Hi Mario,

Thanks for your very good application! I have a little problem here in France because we had letters with accents and they don't appear in the file browser.
Is it possible to add unicode for the files browser, please?

Congratulations.
Patrick D.

Cant Save 16 Bit DDS

When trying to save a 16-bit format, it saves as a 32-bit format that does not load correctly through D3DX or the DDS texture tool.

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.