vlj / yagf Goto Github PK
View Code? Open in Web Editor NEWYet Another GL Framework
License: Other
Yet Another GL Framework
License: Other
There are quite some errors when compiling with Visual Studio 2013/2015, some caused by missing UTF8-BOM's, some because of using 'insecure' string operations in freetype, and some because of the stringify methods used in the examples.
Here is a small patch on how those could be fixed: fix_warnings.patch
I was trying to run a tressfx demo and on startup I have a message about incomplete framebuffer.
File - Common.cpp, line 303
HairSMFBO = new GLRTTSet({ HairShadowMapTexture }, HairShadowMapDepth, 640, 640);
Internaly GLRTTSet uses stencil depth format, but hair shadow map depth is depth_component_32f only.
I've changed this line glTexStorage2D(GL_TEXTURE_2D, 1, GL_DEPTH_COMPONENT32F, 640, 640);
into this one - glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH24_STENCIL8, 640, 480, 0, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, NULL);
And that helps.
In current master there are some build errors, first a simple cmake error (it is just needed to remove meshscenenode.cpp from cmake file):
CMake Error at CMakeLists.txt:118 (add_executable):
Cannot find source file:examples/Scene/meshscenenode.cpp
Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
.hxx .in .txx
And then this error:
[ 5%] Building CXX object CMakeFiles/YAGF.dir/src/fullscreen.cpp.o
In file included from /tmp/YAGF/include/Scene/RenderTargets.h:7:0,
from /tmp/YAGF/include/Scene/FullscreenPass.h:7,
from /tmp/YAGF/src/fullscreen.cpp:3:
/tmp/YAGF/include/API/GfxApi.h:8:28: fatal error: ..\Core\SColor.h: No such file or directory
#include "..\Core\SColor.h"
^
compilation terminated.
In file included from /tmp/YAGF/include/Scene/RenderTargets.h:7:0,
from /tmp/YAGF/src/rendertargets.cpp:3:
/tmp/YAGF/include/API/GfxApi.h:8:28: fatal error: ..\Core\SColor.h: No such file or directory
#include "..\Core\SColor.h"
^
compilation terminated.
Full configuration:
-- Found GLEW: /usr/include
-- Found Freetype: /usr/lib64/libfreetype.so (found version "2.5.5")
-- Found OpenGL: /usr/lib64/libGL.so
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
Certain classes like SJoint have members that are required to be aligned by 16 Bytes for SSE (for matrix4 operations). They are however allocated with "new", which causes exceptions whenever you run into alignment issues.
SJoint should be therefore allocated with memalign/__aligned_malloc
, not the default new as is the case here:
YAGF/include/Core/ISkinnedMesh.h
Line 1237 in da3a88b
(Example exception caused by not properly aligned allocation: http://i.imgur.com/63AL48a.png)
edit: here is a simple fix (only tested the windows path)
the master, in tressfx it lost some shaders.
the clr, it lost src/runtime.cpp examples/skybox.cpp examples/ibl.cpp examples/Scene/meshscenenode.cpp
Setup: Win10, AMD HD7970, Display Driver v15.30.1025, Compiled with Visual Studio 2013 and 2015 (tested both)
When trying to run the examples on my setup, most examples either crash, show no output (black screen), or have incomplete output.
My assumption is that YAGF was only tested with NVIDIA. I could help fixing bugs if you could supply me with images of each example to see how it is supposed to look. Additionally, I am willing to give you remote access (RDP) to my workstation for a few days if you want to try to fix these things yourself.
gaussianblur -> black output with only fps counter
ibl -> light blue output
mesh -> crash because of memory alignment issue (see #3)
oit -> quad output, not sure if that's all thats supposed to appear
scene -> crash because of memory alignment issue (see #3)
skybox -> black output
ssao -> red background, with some ssao noise, but it doesn't look right
text -> displays some text, but antialiasing doesn't look right
tfx -> works only when started from the correct working directory, crashes otherwise without an error
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.