Giter VIP home page Giter VIP logo

micahpearlman / monkvg Goto Github PK

View Code? Open in Web Editor NEW
374.0 374.0 66.0 63.85 MB

MonkVG is an OpenVG 1.1 like vector graphics API implementation optimized for game use currently using an OpenGL ES backend that should be compatible with any HW that supports OpenGL ES 2.0 which includes most iOS and Android devices.

License: Other

C 81.08% C++ 7.52% Java 0.19% Objective-C 1.23% Objective-C++ 1.30% CSS 0.14% Shell 0.01% Makefile 0.41% GLSL 0.03% HTML 7.77% M4 0.03% CMake 0.29%

monkvg's People

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

monkvg's Issues

openGL desktop: error: conflicting declaration 'typedef float GLdouble'

im trying to compile MonkVG with openGL desktop

on openGL desktop, GLdouble == double
on openGL mobile, GLdouble == float

(at least thats what i guess ...)

when i replace

sed -i 's|typedef float GLdouble;|typedef double GLdouble;|' glu/include/glu.h

then i hit another bug

in https://github.com/micahpearlman/MonkVG/blob/master/glu/libutil/project.c

    float in[4];
    float out[4];

should be

    GLdouble in[4];
    GLdouble out[4];

etc ...

more candidates

$ ~/bin/_rgrep -E '(^|[^a-zA-Z])float [a-zA-Z0-9]+\[(4|16)\]' 
./glu/libutil/project.c:249:    float in[4];
./glu/libutil/project.c:250:    float out[4];
./glu/libutil/project.c:284:    float finalMatrix[16];
./glu/libutil/project.c:285:    float in[4];
./glu/libutil/project.c:286:    float out[4];
./glu/libutil/project.c:325:    float finalMatrix[16];
./glu/libutil/project.c:326:    float in[4];
./glu/libutil/project.c:327:    float out[4];
./projects/MonkVG-Test-Quartz/tiger/test.c:6:static float overcolor[4] = {0,0,0,1};
./projects/MonkVG-Test-Quartz/tiger/main.c:132:         float color[4];
./projects/MonkVG-Test-Quartz/tiger/main.c:308:         float clearColor[4] = {1,1,1,1};
./projects/MonkVG-Test-iOS-OpenGL/tiger/test.c:6:static float overcolor[4] = {0,0,0,1};
./src/opengl/glPath.cpp:50:     void printMat44( float m[4][4] ) {
./src/opengl/glPaint.cpp:113:                           float finalcolor[4];
./src/opengl/glPaint.cpp:244:                           float finalcolor[4];
./src/opengl/glPaint.cpp:396:                           float finalcolor[4];
./src/opengl/glPaint.cpp:547:                           float finalcolor[4];

fix

sed -i -E 's,(^|[^a-zA-Z])float ([a-zA-Z0-9]+\[(4|16)\]),\1GLdouble \2,' glu/libutil/project.c

next problem: conflict in function type

 GLint GLAPIENTRY
 gluUnProject4(
     GLdouble winx, GLdouble winy, GLdouble winz, GLdouble clipw,
     const GLdouble modelMatrix[16], const GLdouble projMatrix[16], const GLint viewport[4],
-    GLclampd nearVal, GLclampd farVal,
+    GLdouble nearVal, GLdouble farVal,
     GLdouble *objx, GLdouble *objy, GLdouble *objz, GLdouble *objw
 )

fix

sed -i -E 's,GLclampd (nearVal|farVal),GLdouble \1,g' glu/libutil/project.c

not sure how to solve this for both desktop and mobile ...

now monkvg compiles : )

Shaders don't work at all

I tried to change params in vertex and frame shaders but with no result. Even if I assign a constant value directly then they don't display any changes. For example line:
gl_FragColor = vec4(0.0, 0.0, 1.0, 1.0);
should color something in blue color but nothing is happened. The same situation is for vertex shader.

I also tried to use some code from another application but it seems your code not only simply doesn't work with shaders but also ignores/clears any outer shaders' commands which I try to add from another application.

The same problem is with your another project - MonkSVG

how to install MonkVG

how to install MonkVG,so I can write this in my pragram

include <vg/openvg.h> or #include <MonkVG/openvg.h>

i just drag these .h and .cpp files to project,and called error <vg/openvg.h> file not found.
very thanks,hope reply

MonkVG for Visual C++ 2008 Express

I've managed to build a working MonkVG.dll with Visual Studio 2008 Express with minor changes. I was just playing and I'm not interested in maintaining it, etc. I wanted to compare MonkVG to ShivaVG. If you need it give me a note at borislav.asdf at gmail dot com and I will send you the files.

line cap possible MonkVG bug

I use MonkSVG. But it look likes this bug belongs to MonkVG.
I set VG_STROKE_CAP_STYLE as VG_CAP_ROUND directly in several ways but it still doesn't work

Font/text bug

In your example replace font (.png and .fnt) with another one which is without a shadow.
You can create these files for example with a free version of bmGlyph. Create simply white text without any special effects.
Then try to draw it. You will see an extra shadow around it.
I thought It means another over mode, but I can't reproduce it in photoshop with using of blending mode only.

I think it could be fixed with fragment shader because I am not good at programming with this language (glsl).

vgAppendPath is unimplemented

As I understand you can at least suggest how to avoid its calls.

And can you delete all the extra method definitions? For example I wrote a code which uses vgAppendPath but I found out that it is unimlemented during comilling process only.

If it will be useful for you - ShivaVG has an implemented vgAppendPath but I don't know how to run this library under iOS and it is difficult for me to rewrite structures of this library enough fast.

The problem with drawing of circles

void OpenVG_SVGHandler::onPathCubic( float x1, float y1, float x2, float y2, float x3, float y3 ) { 
    VGubyte seg = VG_CUBIC_TO | openVGRelative();
    VGfloat data[6];

    data[0] = x1; data[1] = y1;
    data[2] = x2; data[3] = y2;
    data[4] = x3; data[5] = y3;
    vgAppendPathData( _current_group->current_path->path, 1, &seg, data);

}
void OpenVG_SVGHandler::onPathSCubic( float x2, float y2, float x3, float y3 ) {
    VGubyte seg = VG_SCUBIC_TO | openVGRelative();
    VGfloat data[4];

    data[0] = x2; data[1] = y2;
    data[2] = x3; data[3] = y3;
    vgAppendPathData( _current_group->current_path->path, 1, &seg, data);

}

it is a code from MonkSVG, but it uses MonkVG and shows its bug.
I have a code which draws a circle:

Description is here (8.3.6 The cubic Bézier curve commands):
http://www.w3.org/TR/SVG/paths.html#PathDataMovetoCommands

So the circle is drawn as 3 segments using the first function and one segment is drawn using the second one. The first 3 segments look like a parts of a circle and the last segment looks like a part of a square with rounded corners.

Build instructions

Can someone please update the readme file with build instructions? I'm familiar with configure, make but not autoconf/libtools so much. I'm trying to build this on OSX without using XCode (I want to integrate it with another project and was hoping not to have to learn that).

CMake support?

Are there any plans to add support for building MonkVG with CMake?

A little bug with line thickness

Function OpenGLPath::buildFatLineSegment(...) in glPath.cpp:

One of parameters has name "radius" abd you pass stroke_width into it. But stroke_width look likes as diameter.
And of course all the lines looks too fat.

avoid ../../ paths

my eyes are hurting from all the ../../

cant we just copy the makefiles to / and run autoreconf there?
so we have pretty paths like src/mkContext.cpp

Possible bug in OpenGL ES main fragment shader

Dear Micah & team,

Congratulations on an excellent & useful library - but I think I've found a bug in your main fragment shader...

In main.frag:-

// receives the color passed in via glColor4f emulation
uniform vec4 u_color;
...
color = u_color; ///v_frontColor; // copy the uniform color value to the current color
...

if TEXTURE0_ENABLED != 0 || TEXTURE1_ENABLED != 0 || TEXTURE2_ENABLED != 0

gl_FragColor = color;

else

gl_FragColor = color * u_color; // <== BUG - color is multiplied by itself.

endif

The bug causes colors with values < 255i or 1.0f to appear too dark.

I'm a newbie when it comes to OpenGL shaders so I've not been able to recompile the shader program with a fix. However, I hacked the call to glColor4f to pass the square root of r,g,b,a, and drawing is now correct:

GL->glColor4f(sqrt(r),sqrt(g),sqrt(b),sqrt(a));

Clearly this is an awful hack and the right thing to do is recompile the shader without the unwanted multiply. Drop me a line if you like, [email protected].

Best regards,
Angus.

Compilation on windows failing

Hey i try to compile the lib on window 7 using vs 2010 or 1012
and it gives me those error after including the source directory to :
OpenGLES\OpenGLES20 and Sources\OpenGLES that was missing ( or not .. )

1>------ Build started: Project: MonkVG, Configuration: Debug Win32 ------
1>  glPath.cpp
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(40): error C2371: 'GLintptr' : redefinition; different basic types
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1641) : see declaration of 'GLintptr'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(41): error C2371: 'GLsizeiptr' : redefinition; different basic types
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1642) : see declaration of 'GLsizeiptr'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(610): warning C4005: 'GL_SRC0_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1593) : see previous definition of 'GL_SRC0_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(611): warning C4005: 'GL_SRC1_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1600) : see previous definition of 'GL_SRC1_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(612): warning C4005: 'GL_SRC2_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1603) : see previous definition of 'GL_SRC2_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(613): warning C4005: 'GL_SRC0_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1599) : see previous definition of 'GL_SRC0_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(614): warning C4005: 'GL_SRC1_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1596) : see previous definition of 'GL_SRC1_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(615): warning C4005: 'GL_SRC2_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1602) : see previous definition of 'GL_SRC2_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglesstring.h(37): error C2535: 'OpenGLES::OpenGLESString OpenGLES::OpenGLESString::operator +(size_t)' : member function already defined or declared
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglesstring.h(34) : see declaration of 'OpenGLES::OpenGLESString::operator +'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glpath.cpp(205): warning C4305: '*=' : truncation from 'double' to 'VGfloat'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glpath.cpp(531): warning C4244: 'initializing' : conversion from 'double' to 'VGfloat', possible loss of data
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glpath.cpp(830): warning C4244: 'initializing' : conversion from 'double' to 'VGfloat', possible loss of data
1>  glPaint.cpp
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(40): error C2371: 'GLintptr' : redefinition; different basic types
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1641) : see declaration of 'GLintptr'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(41): error C2371: 'GLsizeiptr' : redefinition; different basic types
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1642) : see declaration of 'GLsizeiptr'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(610): warning C4005: 'GL_SRC0_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1593) : see previous definition of 'GL_SRC0_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(611): warning C4005: 'GL_SRC1_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1600) : see previous definition of 'GL_SRC1_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(612): warning C4005: 'GL_SRC2_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1603) : see previous definition of 'GL_SRC2_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(613): warning C4005: 'GL_SRC0_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1599) : see previous definition of 'GL_SRC0_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(614): warning C4005: 'GL_SRC1_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1596) : see previous definition of 'GL_SRC1_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(615): warning C4005: 'GL_SRC2_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1602) : see previous definition of 'GL_SRC2_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglesstring.h(37): error C2535: 'OpenGLES::OpenGLESString OpenGLES::OpenGLESString::operator +(size_t)' : member function already defined or declared
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglesstring.h(34) : see declaration of 'OpenGLES::OpenGLESString::operator +'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glpaint.cpp(370): warning C4305: 'initializing' : truncation from 'double' to 'float'
1>  glImage.cpp
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(40): error C2371: 'GLintptr' : redefinition; different basic types
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1641) : see declaration of 'GLintptr'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(41): error C2371: 'GLsizeiptr' : redefinition; different basic types
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1642) : see declaration of 'GLsizeiptr'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(610): warning C4005: 'GL_SRC0_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1593) : see previous definition of 'GL_SRC0_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(611): warning C4005: 'GL_SRC1_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1600) : see previous definition of 'GL_SRC1_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(612): warning C4005: 'GL_SRC2_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1603) : see previous definition of 'GL_SRC2_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(613): warning C4005: 'GL_SRC0_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1599) : see previous definition of 'GL_SRC0_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(614): warning C4005: 'GL_SRC1_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1596) : see previous definition of 'GL_SRC1_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(615): warning C4005: 'GL_SRC2_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1602) : see previous definition of 'GL_SRC2_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglesstring.h(37): error C2535: 'OpenGLES::OpenGLESString OpenGLES::OpenGLESString::operator +(size_t)' : member function already defined or declared
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglesstring.h(34) : see declaration of 'OpenGLES::OpenGLESString::operator +'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glimage.cpp(225): warning C4244: 'initializing' : conversion from 'VGint' to 'GLfloat', possible loss of data
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glimage.cpp(225): warning C4244: 'initializing' : conversion from 'VGint' to 'GLfloat', possible loss of data
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glimage.cpp(226): warning C4244: 'initializing' : conversion from 'VGint' to 'GLfloat', possible loss of data
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glimage.cpp(226): warning C4244: 'initializing' : conversion from 'VGint' to 'GLfloat', possible loss of data
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glimage.cpp(227): warning C4244: 'initializing' : conversion from 'VGint' to 'GLfloat', possible loss of data
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glimage.cpp(227): warning C4244: 'initializing' : conversion from 'VGint' to 'GLfloat', possible loss of data
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glimage.cpp(228): warning C4244: 'initializing' : conversion from 'VGint' to 'GLfloat', possible loss of data
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glimage.cpp(228): warning C4244: 'initializing' : conversion from 'VGint' to 'GLfloat', possible loss of data
1>  glFont.cpp
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(40): error C2371: 'GLintptr' : redefinition; different basic types
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1641) : see declaration of 'GLintptr'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(41): error C2371: 'GLsizeiptr' : redefinition; different basic types
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1642) : see declaration of 'GLsizeiptr'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(610): warning C4005: 'GL_SRC0_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1593) : see previous definition of 'GL_SRC0_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(611): warning C4005: 'GL_SRC1_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1600) : see previous definition of 'GL_SRC1_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(612): warning C4005: 'GL_SRC2_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1603) : see previous definition of 'GL_SRC2_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(613): warning C4005: 'GL_SRC0_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1599) : see previous definition of 'GL_SRC0_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(614): warning C4005: 'GL_SRC1_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1596) : see previous definition of 'GL_SRC1_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(615): warning C4005: 'GL_SRC2_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1602) : see previous definition of 'GL_SRC2_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglesstring.h(37): error C2535: 'OpenGLES::OpenGLESString OpenGLES::OpenGLESString::operator +(size_t)' : member function already defined or declared
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglesstring.h(34) : see declaration of 'OpenGLES::OpenGLESString::operator +'
1>  glContext.cpp
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(40): error C2371: 'GLintptr' : redefinition; different basic types
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1641) : see declaration of 'GLintptr'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(41): error C2371: 'GLsizeiptr' : redefinition; different basic types
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1642) : see declaration of 'GLsizeiptr'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(610): warning C4005: 'GL_SRC0_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1593) : see previous definition of 'GL_SRC0_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(611): warning C4005: 'GL_SRC1_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1600) : see previous definition of 'GL_SRC1_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(612): warning C4005: 'GL_SRC2_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1603) : see previous definition of 'GL_SRC2_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(613): warning C4005: 'GL_SRC0_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1599) : see previous definition of 'GL_SRC0_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(614): warning C4005: 'GL_SRC1_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1596) : see previous definition of 'GL_SRC1_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(615): warning C4005: 'GL_SRC2_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1602) : see previous definition of 'GL_SRC2_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglesstring.h(37): error C2535: 'OpenGLES::OpenGLESString OpenGLES::OpenGLESString::operator +(size_t)' : member function already defined or declared
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglesstring.h(34) : see declaration of 'OpenGLES::OpenGLESString::operator +'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glcontext.cpp(80): error C3083: 'OpenGLES1': the symbol to the left of a '::' must be a type
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glcontext.cpp(80): error C2039: 'OpenGLES11Context' : is not a member of 'OpenGLES'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glcontext.cpp(80): error C2061: syntax error : identifier 'OpenGLES11Context'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glcontext.cpp(123): warning C4244: 'argument' : conversion from 'VGint' to 'GLfloat', possible loss of data
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glcontext.cpp(123): warning C4244: 'argument' : conversion from 'VGint' to 'GLfloat', possible loss of data
1>  glBatch.cpp
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(40): error C2371: 'GLintptr' : redefinition; different basic types
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1641) : see declaration of 'GLintptr'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(41): error C2371: 'GLsizeiptr' : redefinition; different basic types
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1642) : see declaration of 'GLsizeiptr'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(610): warning C4005: 'GL_SRC0_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1593) : see previous definition of 'GL_SRC0_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(611): warning C4005: 'GL_SRC1_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1600) : see previous definition of 'GL_SRC1_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(612): warning C4005: 'GL_SRC2_RGB' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1603) : see previous definition of 'GL_SRC2_RGB'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(613): warning C4005: 'GL_SRC0_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1599) : see previous definition of 'GL_SRC0_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(614): warning C4005: 'GL_SRC1_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1596) : see previous definition of 'GL_SRC1_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglescontext.h(615): warning C4005: 'GL_SRC2_ALPHA' : macro redefinition
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\projects\monkvg-windows\glew\include\gl\glew.h(1602) : see previous definition of 'GL_SRC2_ALPHA'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglesstring.h(37): error C2535: 'OpenGLES::OpenGLESString OpenGLES::OpenGLESString::operator +(size_t)' : member function already defined or declared
1>          d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\thirdparty\gles2-bc\sources\opengles\openglesstring.h(34) : see declaration of 'OpenGLES::OpenGLESString::operator +'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glbatch.cpp(46): warning C4018: '<' : signed/unsigned mismatch
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\opengl\glbatch.cpp(69): warning C4018: '<' : signed/unsigned mismatch
1>  mkVGU.cpp
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkvgu.cpp(302): warning C4244: 'initializing' : conversion from 'double' to 'VGfloat', possible loss of data
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkvgu.cpp(302): warning C4305: '+=' : truncation from 'double' to 'VGfloat'
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkvgu.cpp(312): warning C4244: 'initializing' : conversion from 'double' to 'VGfloat', possible loss of data
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkvgu.cpp(312): warning C4305: '-=' : truncation from 'double' to 'VGfloat'
1>  mkPath.cpp
1>  mkParameter.cpp
1>  mkPaint.cpp
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkpaint.cpp(20): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkpaint.cpp(29): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkpaint.cpp(66): warning C4065: switch statement contains 'default' but no 'case' labels
1>  mkMath.cpp
1>  mkImage.cpp
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkimage.cpp(49): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkimage.cpp(58): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkimage.cpp(67): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkimage.cpp(76): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkimage.cpp(85): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkimage.cpp(94): warning C4065: switch statement contains 'default' but no 'case' labels
1>  mkFont.cpp
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkfont.cpp(19): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkfont.cpp(28): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkfont.cpp(36): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkfont.cpp(45): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkfont.cpp(53): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkfont.cpp(61): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkfont.cpp(93): warning C4244: 'argument' : conversion from 'VGfloat' to 'VGint', possible loss of data
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkfont.cpp(93): warning C4244: 'argument' : conversion from 'VGfloat' to 'VGint', possible loss of data
1>  mkContext.cpp
1>  mkBatch.cpp
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkbatch.cpp(19): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkbatch.cpp(28): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkbatch.cpp(37): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkbatch.cpp(46): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkbatch.cpp(55): warning C4065: switch statement contains 'default' but no 'case' labels
1>d:\dev\cpp\cocos2d-x\svg\2010\monkvg-master\monkvg-master\src\mkbatch.cpp(64): warning C4065: switch statement contains 'default' but no 'case' labels
1>  mkBaseObject.cpp
1>  Generating Code...
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

how to run iOS test?

Hi,

I wanted to run the iOS test project. In Xcode when I hit the 'Run' button it only builds the project, but it does not run it. Do you know how to get it to run, either on a device or in the simulator?

glColor3f overriding paint

glColor3f(1,1,0) sets the current color to yellow. If I create a red paint and set the paint before drawing, things still appear yellow.

In setup:

// create a paint
_paint = vgCreatePaint();
vgSetPaint(_paint, VG_FILL_PATH );
VGfloat color[4] = { 1.0f, 0.0f, 0.0f, 1.0f };
vgSetParameterfv(_paint, VG_PAINT_COLOR, 4, &color[0]);

// create a box path
_path = vgCreatePath(VG_PATH_FORMAT_STANDARD, VG_PATH_DATATYPE_F,1,0,0,0, VG_PATH_CAPABILITY_ALL);
vguRect( _path, 0, 0, 64.0f, 64.0f );

In render loop:

glColor3f(1, 1, 0);
vgSeti(VG_MATRIX_MODE, VG_MATRIX_PATH_USER_TO_SURFACE);
vgLoadIdentity();
vgTranslate( 0, 0 );

vgSetPaint( _paint, VG_FILL_PATH );
vgDrawPath( _path, VG_FILL_PATH );  // Square is yellow not red

All Andoid and iOS examples are outdated/incomplete

I am having trouble building the Android or iOS sources from the information provided here. The examples seem to be slightly outdated or incomplete. For example, using ANT to build the Android projects, I get an error that there is the missing build.xml file. The project will not import into Android Studio (which is pretty standard today).

When building the iOS project, it uses an old xcode version that doesn't migrate, when that failed, I tried just to build the third part OpenGL stuff and that failed because the readme.txt doesn't cover hooking up the AppDelegate in a Single View Application (There is no OpenGL ES project option anymore).

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.