Commit Graph

630 Commits

Author SHA1 Message Date
Mikhail Shulepov 15f0aaa598 Texture2D::getStringForFormat - added missed formats 2016-02-12 19:04:30 +03:00
Mikhail Shulepov 112fceae81 Texture2D: RGB888 -> A8 conversion (white - full opacity, black - full transparency) 2016-02-12 17:23:56 +03:00
Ricardo Quesada 4a318c0048 Renderer improvments: TriangleCommand and QuadCommand merged
- more options for batching (faster)
- less flushing in between commands (faster)
- less renderer code (easier to maintain)
- less VBO/VAO (less memory)
- uses temporary buffer for faster rendering (more memory)
  - QuadCommand is just a subclass of TriangleCommand (simpler)
  - but statically it allocates indices internally (like any TriangleCommand) (more
    memory, but not that much)
- adds more tests for SpritePolygon
- adds test for batching Tri + Quad command
- and fixes some other bugs

Squashed commit of the following:

commit cce893a9114da5dda91a895e4e661894f365e2c7
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Feb 8 06:56:57 2016 -0800

    QuadCommand: indices are static

    thanks @Darinex

commit e5fd1c14e93d2f07b8266bfec03cf7206d348f59
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sun Feb 7 19:18:42 2016 -0800

    little improvements in xcode proj management

commit 6cd29764e01ad300f4e89e62aa6b399f73e94f01
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sun Feb 7 19:05:52 2016 -0800

    Renderer improvments: TriangleCommand and QuadCommand merged

    - more options for batching (faster)
    - less flushing in between commands (faster)
    - less renderer code (easier to maintain)
    - less VBO/VAO (less memory)
    - uses temporary buffer for faster rendering (more memory)

    and fixes some other bugs

    Squashed commit of the following:

    commit af7a209435c5f2430c31ab3ebcc7f45051eacb1a
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Sun Feb 7 18:55:27 2016 -0800

        adds test for batching quads and tris

    commit 25816e3eaeffd4b0cfe5fa15e97ff84e9013b8be
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Sun Feb 7 18:40:15 2016 -0800

        cleanup renderer

    commit 7f9785056681756c865d603516c7e14c46040e82
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Sun Feb 7 15:34:48 2016 -0800

        clean up docs

    commit 92a8b679dd404e4ca2839d85e2bd925195b12996
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Sun Feb 7 15:18:52 2016 -0800

        QuadCommand converted to Triangles command

    commit 7e21ec12d3781f6964b4d639cfa4bdc79eb8ae80
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Fri Feb 5 16:17:29 2016 -0800

        adds missing files... new test as well

    commit d1bd4391785515bdc2e1bebbeb3f321f983b51f2
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Fri Feb 5 14:35:41 2016 -0800

        more tests for poly sprites

    commit 5775a25b1046671bd0f5af4c5ab52b308b34bb39
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Fri Feb 5 00:30:13 2016 -0800

        malloc instead of std::vector

    commit 14a5d45cc978c55a182c03f181ca2bc603776561
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Thu Feb 4 21:40:46 2016 -0800

        little optimization

    commit 5667cb2b62416f8a439a54c3973d5841fbe1b68b
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Thu Feb 4 19:13:13 2016 -0800

        quad works as expected

    commit 462aef05baa6586591882faa366839bead4be068
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Thu Feb 4 15:22:59 2016 -0800

        works

    commit c789e6c42811278563c7682b5620296ae8d84aeb
    Merge: d6c3729 de62924
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Thu Feb 4 14:08:49 2016 -0800

        Merge branch 'v3' into uniform_matrix_auto

    commit d6c37297954af752ebf42ec5f71e5e2fe28c9cc2
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Thu Feb 4 13:54:07 2016 -0800

        works ok...

    commit 45c288631989ea735cc31ec5aa683d9d41aacab3
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Thu Feb 4 12:58:34 2016 -0800

        quad works!

    commit 7137cff51df09adee7129738cea2b69da090756e
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Wed Feb 3 16:19:34 2016 -0800

        more optimizations... WIP... doesn't work yet

    commit a8324c1a9acb6b82102e05eee6e5e5f341306c7b
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Tue Feb 2 21:59:42 2016 -0800

        compiles in release mode

        more tests... better threshold

    commit 884ffc756e7520fcbb9252260181538ec81b8368
    Author: Ricardo Quesada <ricardoquesada@gmail.com>
    Date:   Tue Feb 2 17:21:32 2016 -0800

        initial uniform_auto_matrix commit

        Changes the CC_matrix uniform in runtime depending on whether the command can be batched or not.

        Lot of things missing, though... like performance tests.
2016-02-08 11:25:37 -08:00
elloop 341575aa4c 1. We should define `std::string ret` in where we really need it. According to my test on android platform the function returns at `return "";`, which makes the `ret` unnecessary.
2. `charsWritten` is not used, we should either delete it or use it. Because we don't check the bytes written, I think we can just delete it.
3.  We don't need (logLength+1) space for `logBytes`, because `logBytes`  returned by calling glGetShaderInfoLog(shader, logLength, nullptr, logBytes) takes `logLength` bytes at most, including the ending null character,  i.e. `(strlen(logBytes) + 1 ==  logLength)` always yield true. According to the offical opengles sdk docs: https://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderInfoLog.xml.
and
https://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderiv.xml

4. We don't need `logBytes[logLength] = '\0';`, because `logBytes` returned is already null-terminated.
2016-01-25 12:22:30 +08:00
James Chen 057db2444c Removes unused code in Material::initWithFile. 2016-01-15 00:55:10 +08:00
zilongshanren 7d943f200f fix scale9sprite gray state opacity issue.
Ticket: https://github.com/cocos2d/cocos2d-x/issues/14378
2016-01-07 17:17:55 +08:00
pandamicro 022bcc24f1 Merge branch 'v3.10' of github.com:cocos2d/cocos2d-x into v3
Conflicts:
	cocos/scripting/js-bindings/manual/chipmunk/js_bindings_chipmunk_manual.cpp
	cocos/scripting/js-bindings/manual/component/CCComponentJS.cpp
	cocos/scripting/js-bindings/manual/js_bindings_opengl.cpp
2015-12-20 22:56:33 +08:00
Liam fb312a761c update for 3D object render, revert old changes 2015-12-18 11:23:33 +08:00
Wenhai Lin 4fa58602a8 Adds `std::nothrow` to the `new` statements 2015-12-16 14:02:55 +08:00
mogemimi f280a31323 Fix typo in documentation and comments 2015-12-09 01:48:24 +09:00
Ricardo Quesada aebfefd7a8 Merge branch 'v3' into js_more_conversions 2015-12-04 19:01:20 -08:00
Ricardo Quesada cd8631ef09 sfunction "create" uses new optimized code
...although this code should never be called
2015-12-04 18:42:31 -08:00
Ricardo Quesada f6c2758801 Merge pull request #14409 from xiaofeng11/v3_combine_opengl
Combine Studio change for openGL related operation
2015-12-03 23:03:40 -08:00
Liam 07bc48c1b8 revert glprogram 2015-12-03 16:29:02 +08:00
XiaoYang 867664197e Merge pull request #14526 from super626/v3
3D Normal Map Support
2015-12-02 14:22:20 +08:00
yangxiao ebd5c1cca7 resolve conflict and fix checktexture bug 2015-12-02 11:26:05 +08:00
pandamicro 70dd2af5d5 Merge pull request #14518 from mogemimi/fix-memory-leak-texture-cache
Fix memory leak when initWithImage() failed
2015-12-02 10:20:04 +08:00
xiaofeng11 18666a9b41 Merge pull request #14393 from xiaofeng11/v3_combine_3d
Combine Studio change for 3d components
2015-12-02 09:47:12 +08:00
mogemimi d539e6c797 Fix memory leak when initWithImage() failed 2015-12-01 12:48:54 +09:00
yangxiao 11f1bd6e28 builtin material normal map support 2015-12-01 10:37:53 +08:00
XiaoFeng 150d907636 Add missing changes to Particle 3d 2015-11-27 19:01:30 +08:00
XiaoFeng 2d28b78e41 Add 3 missing class export
Change clearShader logic.
2015-11-27 14:58:18 +08:00
songchengjiang b55f040ec6 fix macro definition error 2015-11-27 14:23:17 +08:00
XiaoFeng 8e4276469c Add comment to new function 2015-11-27 14:08:27 +08:00
songchengjiang 642e19baef unify (No)Normal Mapping shaders 2015-11-27 13:15:33 +08:00
XiaoYang 92d7ccfbca Merge pull request #14471 from super626/v3
release default fbo
2015-11-27 11:33:07 +08:00
songchengjiang fc4c3ec650 Merge branch 'v3' of https://github.com/super626/cocos2d-x into v3 2015-11-27 09:34:31 +08:00
XiaoFeng 09606e96cd Add comment for new function 2015-11-25 11:33:24 +08:00
XiaoFeng d0cd640ac8 Update 2015-11-25 11:15:17 +08:00
songchengjiang 9241797acb support normal mapping material 2015-11-25 10:45:03 +08:00
XiaoFeng 722f20c4b6 Update implement remove condition macro check. 2015-11-24 18:29:58 +08:00
yangxiao aa38dfba89 release default fbo 2015-11-24 18:11:16 +08:00
XiaoFeng 50889c1c6c Save _vertShader & _fragShader for PC platform only to decrease memory usage for mobile platform. 2015-11-17 14:29:56 +08:00
XiaoFeng acd3b5cbc4 Combine Studio change for openGL related operation 2015-11-17 13:38:42 +08:00
XiaoFeng eb644ee79f Combine Studio change for 3d components 2015-11-16 15:05:43 +08:00
pandamicro 6fc7aca423 Merge pull request #14153 from Fraggle/patch-1
PMA Handling issue
2015-11-11 14:14:22 +08:00
yangxiao 9d2fca6d34 fix cull face for render queue 2015-11-09 10:42:12 +08:00
pandamicro b58e656620 Merge pull request #14264 from super626/v3
Fix: Mesh::setGLProgramState may modify state block
2015-10-30 10:11:23 +08:00
yangxiao 16d9cf1af9 setStateBlock implement 2015-10-29 14:21:25 +08:00
mogemimi 9df30d2454 Fix typos in documentation 2015-10-23 16:59:51 +09:00
pandamicro f2898ecf30 Merge pull request #14207 from super626/terrain
fix shader on pc
2015-10-22 10:10:10 +08:00
yangxiao cca25f5b5c fix shader on pc 2015-10-22 09:29:12 +08:00
Dale Stammen ce88dbdee4 removed WP8.1 shader code 2015-10-16 14:48:03 -07:00
Dale Stammen 414a34f3f9 removed old WP8.1 shaders for gl_PointSize 2015-10-16 14:47:02 -07:00
Sebastien Flory bd83fc1474 PMA Handling issue
Hi,

I compared to cocos2D-x v2.x and it seems that there is an issue with the _hasPremultipliedAlpha flag not beeing set correctly for mipmaps and compressed textures.
I guess it's a mistake due to the reorganization of the code between the old CCTexture2D and the new one.
In our tests, this fixes the issue.

Best,

Sebastien
2015-10-15 15:48:21 +02:00
yangxiao 907189ed14 correct wrong presion, which leads to failed on some devices 2015-10-15 11:59:38 +08:00
Martin Taylor 62e36e8006 fix typos and syntax error. A thorough check by tool VSSpellChecker. 2015-09-22 16:08:23 +08:00
yangxiao ea538cd9da merge cocos 2015-09-16 10:37:24 +08:00
yangxiao ca24e6eba3 fix clone 2015-09-11 15:08:59 +08:00
yangxiao 6fd9784fce setParent for RenderState 2015-09-11 11:47:36 +08:00
yangxiao d5fab0bd38 merge cocos 2015-09-10 10:44:09 +08:00
yangxiao 8f5cd6cdc8 remove setParent 2015-09-10 09:28:01 +08:00
yangxiao 64471fab85 fix material clone 2015-09-10 09:23:02 +08:00
Nathanael Weiss 14b9c2e75c Fix crash in FrameBuffer if no DepthStencil
This fixes a debug-config crash if a FrameBuffer has no `RenderTargetDepthStencil`.
2015-09-08 13:13:38 -07:00
yangxiao c3ac446f35 resolve conflict 2015-09-07 14:45:09 +08:00
yangxiao 137d180dc9 fix material clone 2015-09-07 13:59:08 +08:00
WenhaiLin a3b5becb45 Sync v3.8 to v3 2015-08-31 22:05:37 +08:00
yangxiao bc07d7954a fix render state 2015-08-28 23:00:45 +08:00
pandamicro d6045fdbea Merge branch 'v3.8' of github.com:cocos2d/cocos2d-x into v3
Conflicts:
	cocos/audio/winrt/Audio.cpp
	cocos/platform/winrt/CCCommon.cpp
	cocos/platform/winrt/CCWinRTUtils.cpp
	cocos/platform/winrt/CCWinRTUtils.h
2015-08-27 10:40:04 +08:00
Ricardo Quesada d5d1be93cc make it compile on win32 2015-08-26 10:16:50 -07:00
yangxiao d17c04cf0e tmp 2015-08-26 16:35:42 +08:00
Ricardo Quesada dfed33f6f2 Adds `PrimitiveCommand` test 2015-08-25 15:07:03 -07:00
yangxiao 7dcc3dd982 Move CCTextureCube From 3d to renderer to solve compilation issue 2015-08-24 14:01:50 +08:00
fusijie cbd7eed9c4 fixed renderTexture crash bug. 2015-08-21 17:38:56 +08:00
yangxiao 8a6c49b5a3 merge cocos 2015-08-03 09:54:29 +08:00
pandamicro a011fa4c8a Merge pull request #12852 from super626/issue10242
fix #10242, reload shader when light number changed
2015-07-30 12:57:32 +08:00
tangziwen e4cf89e1c4 terrain update: can set Light direction manually, set light map, fix a bug which height map is not exist cause crash when destructing. 2015-07-29 13:24:12 +08:00
yangxiao 92ec9ab5f2 add config loaded event 2015-07-24 16:38:30 +08:00
andyque 7c665e6447 remove EMSCRIPTEN related code 2015-07-16 14:15:41 +08:00
yangxiao 69e79ed164 fix #10242, reload shader when light number changed 2015-07-15 11:36:53 +08:00
andyque 91dfb07a8c add more descriptive message to ASSET macro. 2015-07-14 15:28:36 +08:00
Vincent Yang d9bc8b7c1b fix bug: don't decrease _asyncRefCount correct in addImageAsyncCallback. 2015-07-09 17:06:55 +08:00
Vincent Yang 1f8b46e911 Fixbug: Need to replace thread unsafe code from TextureCache::addImageAsync. 2015-07-08 15:13:48 +08:00
yangxiao 269feeb1f9 remove stencil from Renderstate 2015-07-01 14:06:37 +08:00
yangxiao 13dbd44250 remove unused variable 2015-06-25 15:05:21 +08:00
yangxiao 63f948c822 modify skybox to projection space 2015-06-25 15:01:39 +08:00
pandamicro cc00cbedbe Merge pull request #12482 from yangws/fixbug_20214
fixbug: cpp-test -> NewRenderer (drag the layer to test the result of…
2015-06-23 21:09:59 +08:00
pandamicro 60372056ce Merge pull request #12484 from andyque/fix-nine-patch-image-error
fix nine patch image parser error on Windows.
2015-06-23 18:26:16 +08:00
pandamicro 2a0c2b6e32 Merge pull request #12250 from hawkwood/patch-10
Fails if file does not exist
2015-06-23 17:32:47 +08:00
andyque 7fff2bd3c4 fix nine patch image parser error on Windows. 2015-06-23 15:42:58 +08:00
Vincent Yang 4b768c5fd8 fixbug: cpp-test -> NewRenderer (drag the layer to test the result of culling), some object will be culling before out of screen. 2015-06-23 15:22:27 +08:00
pandamicro a2deddcf59 Merge pull request #12361 from dabingnn/v3_androidBugForVertexAttrib
fix android background and foreground bug with VertexAttributeBinding
2015-06-17 09:34:47 +08:00
Justin Hawkwood 90db6fe5d6 Added check that callback is set 2015-06-15 23:36:04 -07:00
Justin Hawkwood 9378b6704c Moved file check to alternate location 2015-06-15 23:31:52 -07:00
Huabing.Xu 19982aae00 fix android background and foreground bug with VertexAttributeBinding 2015-06-16 14:04:50 +08:00
Ricardo Quesada b167ab3e78 StateBlock() is public 2015-06-15 17:43:37 -07:00
Ricardo Quesada ca3da86da7 StateBlock::restore() is public
It is possible to restore to default state
2015-06-15 14:12:44 -07:00
pandamicro d0db40c4a6 Merge pull request #12080 from linshun/v3
issue #12078 added audio, network, physics, platform and storage group.
2015-06-15 12:45:11 +08:00
Ricardo Quesada 5c419ff7bc compiles on windows 2015-06-12 20:49:20 -07:00
Ricardo Quesada 9b7c12aa38 updates invalidate documentation 2015-06-12 17:44:48 -07:00
Ricardo Quesada a8cf72dc43 pass bits to invalidate 2015-06-12 17:14:09 -07:00
Ricardo Quesada 4278bf51b1 Adds RenderState::StateBlock::invalidate();
handy function to restore the GL state to the default one.
Only use it if calling GL calls directly
2015-06-12 16:47:08 -07:00
Vincent Yang 097bf455c2 Rename CCRenderBufferObject to CCRenderBuffer in windows projects. 2015-06-11 11:45:10 +08:00
Huabing.Xu 10352c40b2 Merge branch 'v3' into v3FrameBufferObject
# Conflicts:
#	cocos/2d/CCCamera.h
2015-06-10 10:16:42 +08:00
Justin Hawkwood 852639cfe7 Added empty string check 2015-06-09 09:19:04 -07:00
Huabing.Xu 67a94c4485 compiles on android and linux 2015-06-09 17:57:07 +08:00
Huabing.Xu ef4978f0cd move viewport to experimental namespace 2015-06-09 16:21:50 +08:00
Huabing.Xu 3e331128c6 file rename CCFrameBufferObject->CCFrameBuffer 2015-06-09 15:32:12 +08:00
Huabing.Xu 9acab65e4f rename FrameBufferObject->FrameBuffer
Move FrameBufferObject related class to experimental namespace
2015-06-09 10:59:43 +08:00
Justin Hawkwood eca488b85a Fails if file does not exist
This adds a callback with nullptr if the file does not exists.  Checking this before checking cache means that if a file is cached then deleted, the async call will fail.  To allow a cached but deleted file to return the texture, move the isFileExist check to ALTERNATIVE.

If leaving check where it is, on failure should it also check if the file was cached and remove it?
2015-06-08 17:14:15 -07:00