axmol/core/2d/CCCamera.cpp

586 lines
15 KiB
C++
Raw Normal View History

2014-08-07 15:23:31 +08:00
/****************************************************************************
Copyright (c) 2014-2016 Chukong Technologies Inc.
metal support for cocos2d-x (#19305) * remove deprecated files * remove some deprecated codes * remove more deprecated codes * remove ui deprecated codes * remove more deprecated codes * remove deprecated codes in ccmenuitem * remove more deprecated codes in ui * remove more deprecated codes in ui * remove more deprecated codes in ui * remove more deprecated codes * remove more deprecated codes * remove more deprecated codes * remove vr related codes and ignore some modules * remove allocator * remove some config * 【Feature】add back-end project file * [Feature] add back-end file * add pipeline descriptor and shader cache * [Feature] support sprite for backend * [Feature] remove unneeded code * [Feature] according to es2.0 spec, you must use clamp-to-edge as texture wrap mode, and no mipmapping for non-power-of-two texture * [Feature] set texture wrap mode to clamp-to-edge, and no mipmapping for non-power-of-two texture * [Feature] remove macro define to .cpp file * [Feature] add log info * [Feature] add PipelineDescriptor for TriangleCommand * [Feature] add PipelineDescriptor object as member of TriangleCommand * [Feature] add getPipelineDescriptor method * add renderbackend * complete pipeline descriptor * [Feature] add viewport in RenderCommand * set viewport when rendrering * [Feature] occur error when using RendererBackend, to be fixed. * a workaround to fix black screen on macOS 10.14 (#19090) * add rendererbackend init function * fix typo * [Feature] modify testFile * [BugFix] modify shader path * [Feature] set default viewport * fix projection * [Feature] modify log info * [BugFix] change viewport data type to int * [BugFix] add BindGroup to PipelienDescriptor * [BugFix] change a_position to vec3 in sprite.vert * [BugFix] set vertexLayout according to V3F_C4B_T2F structure * [Feature] revert a_position to vec4 * [Feature] renderer should not use gl codes directly * [Feature] it's better not use default value parameter * fix depth test setting * rendererbackend -> renderer * clear color and depth at begin * add metal backend * metal support normalized attribute * simplify codes * update external * add render pass desctriptor in pipeline descriptor * fix warnings * fix crash and memeory leak * refactor Texture2D * put pipeline descriptor into render command * simplify codes * [Feature] update Sprite * fix crash when closing app * [Feature] update SpriteBatchNode and TextureAtlas * support render texture(not finish) * [Feature] remove unused code * make tests work on mac * fix download-deps path error * make tests work on iOS * [Feature] support ttf under normal label effect * refactor triangle command processing * let renderer handle more common commands * refactor backend * make render texture work * [Feature] refactor backend for GL * [Feature]Renaming to make it easy to understand * [Feature] change warp mode to CLAMP_TO_EDGE * fix ghost * simplify visit render queue logic * support progress timer without rial mode * support partcile system * Feature/update label (#149) * [BugFix] fix compile error * [Feature] support outline effect in ios * [Feature] add shader file * [BugFix] fix begin and end RenderPass * [Feature] update CustomCommand * [Feature] revert project.pbxproj * [Feature] simplify codes * [BugFix] pack AI88 to RGBA8888 only when outline enable * [Feature] support shadow effect in Label * [Feature] support BMFont * [Feature] support glow effect * [Feature] simplify shader files * LabelAtlas work * handle blend function correctly * support tile map * don't share buffer in metal * alloc buffer size as needed * support more tilemap * Merge branch 'minggo/metal-support' into feature/updateLabel * minggo/metal-support: support tile map handle blend function correctly LabelAtlas work Feature/update label (#149) support partcile system # Conflicts: # cocos/2d/CCLabel.cpp # cocos/2d/CCSprite.cpp # cocos/2d/CCSpriteBatchNode.cpp # cocos/renderer/CCQuadCommand.cpp # cocos/renderer/CCQuadCommand.h * render texture work without saving file * use global viewport * grid3d works * remove grabber * tiled3d works * [BugFix] fix label bug * [Feature] add updateSubData for buffer * [Feature] remove setVertexCount * support depth test * add callback command * [Feature] add UITest * [Feature] update UITest * [Feature] remove unneeded codes * fix custom command issue * fix layer color blend issue * [BugFix] fix iOS compile error * [Feature] remove unneeded codes * [Feature] fix updateVertexBuffer * layerradial works * add draw test back * fix batch issue * fix compiling error * [BugFix] support ETC1 * [BugFix] get the correct pipelineDescriptor * [BugFix] skip draw when backendTexture nullptr * clipping node support * [Feature] add shader files * fix stencil issue in metal * [Feature] update UILayoutTest * [BugFix] skip drawing when vertexCount is zero * refactor renderer * add set global z order for stencil manager commands * fix warnings caused by type * remove viewport in render command * [Feature] fix warnings caused by type * [BugFix] clear vertexCount and indexCount for CustomComand when needed * [Feature] update clear for CustomCommand * ios use metal * fix viewport issue * fix LayerColorGradient crash * [cmake] transport to android and windows (#160) * save point 1 * compile on windows * run on android * revert useless change * android set CC_ENABLE_CACHE_TEXTURE_DATA to 1 * add initGlew * fix android crash * add TODO new-renderer * review update * revert onGLFWWindowPosCallback * fix android compiling error * Impl progress radial (#162) * progresstimer add radial impl * default drawType to element * dec invoke times of createVertexBuffer (#163) * support depth/stencil format for gl backend * simplify progress timer codes * support motionstreak, effect is wrong * fix motionstreak issue * [Feature] update Scissor Test (#161) * [Feature] update Scissor Test * [Feature] update ScissorTest * [Feature] rename function * [Feature] get constant reference if needed * [Feature] show render status (#164) * improve performance * fix depth state * fill error that triangle vertex/index number bigger than buffer * fix compiline error in release mode * fix buffer conflict between CPU and GPU on iOS/macOS * Renderer refactor (#165) * use one vertes/index buffer with opengl * fix error on windows * custom command support index format config * CCLayer: compact vertex data structure * update comment * fix doc * support fast tilemap * pass index format instead * fix some wrong effect * fix render texture error * fix texture per-element size * fix texture format error * BlendFunc type refactor, GLenum -> backend::BlendFactor (#167) * BlendFunc use backend::BlendFactor as inner field * update comments * use int to replace GLenum * update xcode project fiel * rename to GLBlendConst * add ccConstants.h * update xcode project file * update copyright * remove primitive command * remove CCPrimitive.cpp/.h * remove deprecated files * remove unneeded files * remove multiple view support * remove multiple view support * remove the usage of frame buffer in camera * director don't use frame buffer * remove FrameBuffer * remove BatchCommand * add some api reference * add physics2d back * fix crash when close app on mac * improve render texture * fix rendertexture issue * fix rendertexture issue * simplify codes * CMake support for mac & ios (#169) * update cmake * fix compile error * update 3rd libs version * remove CCThread.h/.cpp * remove ccthread * use audio engine to implement simple audio engine * remove unneeded codes * remove deprecated codes * remove winrt macro * remove CC_USE_WIC * set partcile blend function in more elegant way * remove unneeded codes * remove unneeded codes * cmake works on windows * update project setting * improve performance * GLFloat -> float * sync v3 cmake improvements into metal-support (#172) * pick: modern cmake, compile definitions improvement (#19139) * modern cmake, use target_compile_definitions partly * simplify macro define, remove USE_* * modern cmake, macro define * add physics 2d macro define into ccConfig.h * remove USE_CHIPMUNK macro in build.gradle * remove CocosSelectModule.cmake * shrink useless define * simplify compile options config, re-add if necessary * update external for tmp CI test * un-quote target_compile_options value * add "-g" parameter only when debug mode * keep single build type when generator Xcode & VS projecy * update external for tmp CI tes * add static_cast<char>(-1), fix -Wc++11-narrowing * simplify win32 compile define * not modify code, only improve compile options # Conflicts: # .gitignore # cmake/Modules/CocosConfigDepend.cmake # cocos/CMakeLists.txt # external/config.json # tests/cpp-tests/CMakeLists.txt * modern cmake, improve cmake_compiler_flags (#19145) * cmake_compiler_flags * Fix typo * Fix typo2 * Remove chanages from Android.mk * correct lua template cmake build (#19149) * don't add -Wno-deprecated into jsb target * correct lua template cmake build * fix win32 lua template compile error * prevent cmake in-source-build friendly (#19151) * pick: Copy resources to "Resources/" on win32 like in linux configuration * add "/Z7" for cpp-tests on windows * [cmake] fix iOS xcode property setting failed (#19208) * fix iOS xcode property setting failed * use search_depend_libs_recursive at dlls collect * fix typo * [cmake] add find_host_library into iOS toolchain file (#19230) * pick: [lua android] use luajit & template cmake update (#19239) * increase cmake stability , remove tests/CMakeLists.txt (#19261) * cmake win32 Precompiled header (#19273) * Precompiled header * Fix * Precompiled header for cocos * Precompiled header jscocos2d * Fix for COCOS2D_DEBUG is always 1 on Android (#19291) Related #19289 * little build fix, tests cpp-tests works on mac * sync v3 build related codes into metal-support (#173) * strict initialization for std::array * remove proj.win32 project configs * modern cmake, cmake_cleanup_remove_unused_variables (#19146) * Switch travis CI to xenial (#19207) * Switch travis CI to xenial * Remove language: android * Set language: cpp * Fix java problem * Update sdkmanager * Fix sdkmanger * next sdkmanager fix * Remove xenial from android * revert to sdk-tools-{system}-3859397 * Remove linux cmake install * Update before-install.sh * Update .travis.yml * Simplify install-deps-linux.sh, tested on Ubuntu 16.04 (#19212) * Simplify install-deps-linux.sh * Cleanup * pick: install ninja * update cocos2d-console submodule * for metal-support alpha release, we only test cpp * add HelloCpp into project(Cocos2d-x) for tmp test * update extenal metal-support-4 * update uniform setting * [Feature] update BindGroup * [Feature] empty-test * [Feature] cpp-test * [Feature] fix GL compiler error * [Feature] fix GL crash * [Feature] empty-test * [Feature] cpp-tests * [feature] improve frameRate * [feature] fix opengl compile error * [feature] fix opengl compile error * [BugFix] fix compute maxLocation error * [Feature] update setting unifrom * [Feature] fix namespace * [Feature] remove unneeded code * [Bugfix] fix project file * [Feature] update review * [texture2d] impl texture format support (#175) * texture update * update * update texture * commit * compile on windows * ddd * rename * rename methods * no crash * save gl * save * save * rename * move out pixel format convert functions * metal crash * update * update android * support gles compressed texture format * support more compress format * add more conversion methods * ss * save * update conversion methods * add PVRTC format support * reformat * add marco linux * fix GL marcro * pvrtc supported only by ios 8.0+ * remove unused cmake * revert change * refactor Texture2D::initWithData * fix conversion log * refactor Texture2D::initWithData * remove some OpenGL constants for PVRTC * add todo * fix typo * AutoTest works on mac/iOS by disable part cases, sync v3 bug fix (#174) * review cpp-tests, and fix part issues on start auto test * sync png format fix: Node:Particle3D abnormal texture effects #19204 * fix cpp-tests SpritePolygon crash, wrong png format (#19170) * fix wrong png convert format from sRGB to Gray * erase plist index if all frames was erased * test_A8.png have I8 format, fix it * [CCSpriteCache] allow re-add plist & add testcase (#19175) * allow re-add plist & add testcase * remove comments/rename method/update testcase * fix isSpriteFramesWithFileLoaded & add testcase * remove used variable * remove unused variable * fix double free issues when js/lua-tests exit on iOS (#19236) * disable part cases, AutoTest works without crash on mac * update cocos2dx files json, to test cocos new next * fix spritecache plist parsing issue (#19269) * [linux] Fix FileUtils::getContents with folder (#19157) * fix FileUtils::getContents on linux/mac * use stat.st_mode * simplify * [CCFileUtils] win32 getFileSize (#19176) * win32 getFileSize * fix stat * [cpp test-Android]20:FileUtils/2 change title (#19197) * sync #19200 * sync #19231 * [android lua] improve performance of lua loader (#19234) * [lua] improve performance of lua loader * remove cache fix * Revert "fix spritecache plist parsing issue (#19269)" This reverts commit f3a85ece4307a7b90816c34489d1ed2c8fd11baf. * remove win32 project files ref in template.json * add metal framework lnk ref into cpp template * test on iOS, and disable part cases * alBufferData instead of alBufferDataStatic for small audio file on Apple (#19227) * changes AudioCache to use alBufferData instead of alBufferDataStatic (also makes test 19 faster to trigger openal bugs faster) The original problem: CrashIfClientProvidedBogusAudioBufferList https://github.com/cocos2d/cocos2d-x/issues/18948 is not happening anymore, but there's still a not very frequent issue that makes OpenAL crash with a call stack like this. AudioCache::readDataTask > alBufferData > CleanUpDeadBufferList It happes more frequently when the device is "cold", which means after half an hour of not using the device (locked). I could not find the actual source code for iOS OpenAL, so I used the macOS versions: https://opensource.apple.com/source/OpenAL/OpenAL-48.7/Source/OpenAL/oalImp.cpp.auto.html They seem to use CAGuard.h to make sure the dead buffer list has no threading issues. I'm worried because the CAGuard code I found has macos and win32 define but no iOS, so I'm not sure. I guess the iOS version is different and has the guard. I could not find a place in the code that's unprotected by the locks except the InitializeBufferMap() which should not be called more than once from cocos, and there's a workaround in AudioEngine-impl for it. I reduced the occurence of the CleanUpDeadBufferList crash by moving the guard in ~AudioCache to cover the alDeleteBuffers call. * remove hack method "setTimeout" on audio * AutoTest works on iOS * support set ios deployment target for root project * enable all texture2d cases, since Jiang have fixed * add CCTextureUtils to xcode project file (#176) * add leak cases for SpriteFrameCache (#177) * re-add SpriteFrameCache cases * update template file json * Update SpriteFrameCacheTest.cpp * fix compiling error
2019-01-18 15:08:25 +08:00
Copyright (c) 2017-2019 Xiamen Yaji Software Co., Ltd.
2021-12-25 10:04:45 +08:00
https://axis-project.github.io/
2021-12-25 10:04:45 +08:00
2014-08-07 15:23:31 +08:00
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
2021-12-25 10:04:45 +08:00
2014-08-07 15:23:31 +08:00
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
2021-12-25 10:04:45 +08:00
2014-08-07 15:23:31 +08:00
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Code based GamePlay3D's Camera: http://gameplay3d.org
2014-08-07 15:23:31 +08:00
****************************************************************************/
#include "2d/CCCamera.h"
2015-08-21 10:27:19 +08:00
#include "2d/CCCameraBackgroundBrush.h"
2014-08-07 15:23:31 +08:00
#include "platform/CCGLView.h"
#include "2d/CCScene.h"
#include "renderer/CCRenderer.h"
#include "renderer/CCQuadCommand.h"
2014-08-07 15:23:31 +08:00
NS_AX_BEGIN
2014-08-07 15:23:31 +08:00
2014-08-08 11:49:59 +08:00
Camera* Camera::_visitingCamera = nullptr;
metal support for cocos2d-x (#19305) * remove deprecated files * remove some deprecated codes * remove more deprecated codes * remove ui deprecated codes * remove more deprecated codes * remove deprecated codes in ccmenuitem * remove more deprecated codes in ui * remove more deprecated codes in ui * remove more deprecated codes in ui * remove more deprecated codes * remove more deprecated codes * remove more deprecated codes * remove vr related codes and ignore some modules * remove allocator * remove some config * 【Feature】add back-end project file * [Feature] add back-end file * add pipeline descriptor and shader cache * [Feature] support sprite for backend * [Feature] remove unneeded code * [Feature] according to es2.0 spec, you must use clamp-to-edge as texture wrap mode, and no mipmapping for non-power-of-two texture * [Feature] set texture wrap mode to clamp-to-edge, and no mipmapping for non-power-of-two texture * [Feature] remove macro define to .cpp file * [Feature] add log info * [Feature] add PipelineDescriptor for TriangleCommand * [Feature] add PipelineDescriptor object as member of TriangleCommand * [Feature] add getPipelineDescriptor method * add renderbackend * complete pipeline descriptor * [Feature] add viewport in RenderCommand * set viewport when rendrering * [Feature] occur error when using RendererBackend, to be fixed. * a workaround to fix black screen on macOS 10.14 (#19090) * add rendererbackend init function * fix typo * [Feature] modify testFile * [BugFix] modify shader path * [Feature] set default viewport * fix projection * [Feature] modify log info * [BugFix] change viewport data type to int * [BugFix] add BindGroup to PipelienDescriptor * [BugFix] change a_position to vec3 in sprite.vert * [BugFix] set vertexLayout according to V3F_C4B_T2F structure * [Feature] revert a_position to vec4 * [Feature] renderer should not use gl codes directly * [Feature] it's better not use default value parameter * fix depth test setting * rendererbackend -> renderer * clear color and depth at begin * add metal backend * metal support normalized attribute * simplify codes * update external * add render pass desctriptor in pipeline descriptor * fix warnings * fix crash and memeory leak * refactor Texture2D * put pipeline descriptor into render command * simplify codes * [Feature] update Sprite * fix crash when closing app * [Feature] update SpriteBatchNode and TextureAtlas * support render texture(not finish) * [Feature] remove unused code * make tests work on mac * fix download-deps path error * make tests work on iOS * [Feature] support ttf under normal label effect * refactor triangle command processing * let renderer handle more common commands * refactor backend * make render texture work * [Feature] refactor backend for GL * [Feature]Renaming to make it easy to understand * [Feature] change warp mode to CLAMP_TO_EDGE * fix ghost * simplify visit render queue logic * support progress timer without rial mode * support partcile system * Feature/update label (#149) * [BugFix] fix compile error * [Feature] support outline effect in ios * [Feature] add shader file * [BugFix] fix begin and end RenderPass * [Feature] update CustomCommand * [Feature] revert project.pbxproj * [Feature] simplify codes * [BugFix] pack AI88 to RGBA8888 only when outline enable * [Feature] support shadow effect in Label * [Feature] support BMFont * [Feature] support glow effect * [Feature] simplify shader files * LabelAtlas work * handle blend function correctly * support tile map * don't share buffer in metal * alloc buffer size as needed * support more tilemap * Merge branch 'minggo/metal-support' into feature/updateLabel * minggo/metal-support: support tile map handle blend function correctly LabelAtlas work Feature/update label (#149) support partcile system # Conflicts: # cocos/2d/CCLabel.cpp # cocos/2d/CCSprite.cpp # cocos/2d/CCSpriteBatchNode.cpp # cocos/renderer/CCQuadCommand.cpp # cocos/renderer/CCQuadCommand.h * render texture work without saving file * use global viewport * grid3d works * remove grabber * tiled3d works * [BugFix] fix label bug * [Feature] add updateSubData for buffer * [Feature] remove setVertexCount * support depth test * add callback command * [Feature] add UITest * [Feature] update UITest * [Feature] remove unneeded codes * fix custom command issue * fix layer color blend issue * [BugFix] fix iOS compile error * [Feature] remove unneeded codes * [Feature] fix updateVertexBuffer * layerradial works * add draw test back * fix batch issue * fix compiling error * [BugFix] support ETC1 * [BugFix] get the correct pipelineDescriptor * [BugFix] skip draw when backendTexture nullptr * clipping node support * [Feature] add shader files * fix stencil issue in metal * [Feature] update UILayoutTest * [BugFix] skip drawing when vertexCount is zero * refactor renderer * add set global z order for stencil manager commands * fix warnings caused by type * remove viewport in render command * [Feature] fix warnings caused by type * [BugFix] clear vertexCount and indexCount for CustomComand when needed * [Feature] update clear for CustomCommand * ios use metal * fix viewport issue * fix LayerColorGradient crash * [cmake] transport to android and windows (#160) * save point 1 * compile on windows * run on android * revert useless change * android set CC_ENABLE_CACHE_TEXTURE_DATA to 1 * add initGlew * fix android crash * add TODO new-renderer * review update * revert onGLFWWindowPosCallback * fix android compiling error * Impl progress radial (#162) * progresstimer add radial impl * default drawType to element * dec invoke times of createVertexBuffer (#163) * support depth/stencil format for gl backend * simplify progress timer codes * support motionstreak, effect is wrong * fix motionstreak issue * [Feature] update Scissor Test (#161) * [Feature] update Scissor Test * [Feature] update ScissorTest * [Feature] rename function * [Feature] get constant reference if needed * [Feature] show render status (#164) * improve performance * fix depth state * fill error that triangle vertex/index number bigger than buffer * fix compiline error in release mode * fix buffer conflict between CPU and GPU on iOS/macOS * Renderer refactor (#165) * use one vertes/index buffer with opengl * fix error on windows * custom command support index format config * CCLayer: compact vertex data structure * update comment * fix doc * support fast tilemap * pass index format instead * fix some wrong effect * fix render texture error * fix texture per-element size * fix texture format error * BlendFunc type refactor, GLenum -> backend::BlendFactor (#167) * BlendFunc use backend::BlendFactor as inner field * update comments * use int to replace GLenum * update xcode project fiel * rename to GLBlendConst * add ccConstants.h * update xcode project file * update copyright * remove primitive command * remove CCPrimitive.cpp/.h * remove deprecated files * remove unneeded files * remove multiple view support * remove multiple view support * remove the usage of frame buffer in camera * director don't use frame buffer * remove FrameBuffer * remove BatchCommand * add some api reference * add physics2d back * fix crash when close app on mac * improve render texture * fix rendertexture issue * fix rendertexture issue * simplify codes * CMake support for mac & ios (#169) * update cmake * fix compile error * update 3rd libs version * remove CCThread.h/.cpp * remove ccthread * use audio engine to implement simple audio engine * remove unneeded codes * remove deprecated codes * remove winrt macro * remove CC_USE_WIC * set partcile blend function in more elegant way * remove unneeded codes * remove unneeded codes * cmake works on windows * update project setting * improve performance * GLFloat -> float * sync v3 cmake improvements into metal-support (#172) * pick: modern cmake, compile definitions improvement (#19139) * modern cmake, use target_compile_definitions partly * simplify macro define, remove USE_* * modern cmake, macro define * add physics 2d macro define into ccConfig.h * remove USE_CHIPMUNK macro in build.gradle * remove CocosSelectModule.cmake * shrink useless define * simplify compile options config, re-add if necessary * update external for tmp CI test * un-quote target_compile_options value * add "-g" parameter only when debug mode * keep single build type when generator Xcode & VS projecy * update external for tmp CI tes * add static_cast<char>(-1), fix -Wc++11-narrowing * simplify win32 compile define * not modify code, only improve compile options # Conflicts: # .gitignore # cmake/Modules/CocosConfigDepend.cmake # cocos/CMakeLists.txt # external/config.json # tests/cpp-tests/CMakeLists.txt * modern cmake, improve cmake_compiler_flags (#19145) * cmake_compiler_flags * Fix typo * Fix typo2 * Remove chanages from Android.mk * correct lua template cmake build (#19149) * don't add -Wno-deprecated into jsb target * correct lua template cmake build * fix win32 lua template compile error * prevent cmake in-source-build friendly (#19151) * pick: Copy resources to "Resources/" on win32 like in linux configuration * add "/Z7" for cpp-tests on windows * [cmake] fix iOS xcode property setting failed (#19208) * fix iOS xcode property setting failed * use search_depend_libs_recursive at dlls collect * fix typo * [cmake] add find_host_library into iOS toolchain file (#19230) * pick: [lua android] use luajit & template cmake update (#19239) * increase cmake stability , remove tests/CMakeLists.txt (#19261) * cmake win32 Precompiled header (#19273) * Precompiled header * Fix * Precompiled header for cocos * Precompiled header jscocos2d * Fix for COCOS2D_DEBUG is always 1 on Android (#19291) Related #19289 * little build fix, tests cpp-tests works on mac * sync v3 build related codes into metal-support (#173) * strict initialization for std::array * remove proj.win32 project configs * modern cmake, cmake_cleanup_remove_unused_variables (#19146) * Switch travis CI to xenial (#19207) * Switch travis CI to xenial * Remove language: android * Set language: cpp * Fix java problem * Update sdkmanager * Fix sdkmanger * next sdkmanager fix * Remove xenial from android * revert to sdk-tools-{system}-3859397 * Remove linux cmake install * Update before-install.sh * Update .travis.yml * Simplify install-deps-linux.sh, tested on Ubuntu 16.04 (#19212) * Simplify install-deps-linux.sh * Cleanup * pick: install ninja * update cocos2d-console submodule * for metal-support alpha release, we only test cpp * add HelloCpp into project(Cocos2d-x) for tmp test * update extenal metal-support-4 * update uniform setting * [Feature] update BindGroup * [Feature] empty-test * [Feature] cpp-test * [Feature] fix GL compiler error * [Feature] fix GL crash * [Feature] empty-test * [Feature] cpp-tests * [feature] improve frameRate * [feature] fix opengl compile error * [feature] fix opengl compile error * [BugFix] fix compute maxLocation error * [Feature] update setting unifrom * [Feature] fix namespace * [Feature] remove unneeded code * [Bugfix] fix project file * [Feature] update review * [texture2d] impl texture format support (#175) * texture update * update * update texture * commit * compile on windows * ddd * rename * rename methods * no crash * save gl * save * save * rename * move out pixel format convert functions * metal crash * update * update android * support gles compressed texture format * support more compress format * add more conversion methods * ss * save * update conversion methods * add PVRTC format support * reformat * add marco linux * fix GL marcro * pvrtc supported only by ios 8.0+ * remove unused cmake * revert change * refactor Texture2D::initWithData * fix conversion log * refactor Texture2D::initWithData * remove some OpenGL constants for PVRTC * add todo * fix typo * AutoTest works on mac/iOS by disable part cases, sync v3 bug fix (#174) * review cpp-tests, and fix part issues on start auto test * sync png format fix: Node:Particle3D abnormal texture effects #19204 * fix cpp-tests SpritePolygon crash, wrong png format (#19170) * fix wrong png convert format from sRGB to Gray * erase plist index if all frames was erased * test_A8.png have I8 format, fix it * [CCSpriteCache] allow re-add plist & add testcase (#19175) * allow re-add plist & add testcase * remove comments/rename method/update testcase * fix isSpriteFramesWithFileLoaded & add testcase * remove used variable * remove unused variable * fix double free issues when js/lua-tests exit on iOS (#19236) * disable part cases, AutoTest works without crash on mac * update cocos2dx files json, to test cocos new next * fix spritecache plist parsing issue (#19269) * [linux] Fix FileUtils::getContents with folder (#19157) * fix FileUtils::getContents on linux/mac * use stat.st_mode * simplify * [CCFileUtils] win32 getFileSize (#19176) * win32 getFileSize * fix stat * [cpp test-Android]20:FileUtils/2 change title (#19197) * sync #19200 * sync #19231 * [android lua] improve performance of lua loader (#19234) * [lua] improve performance of lua loader * remove cache fix * Revert "fix spritecache plist parsing issue (#19269)" This reverts commit f3a85ece4307a7b90816c34489d1ed2c8fd11baf. * remove win32 project files ref in template.json * add metal framework lnk ref into cpp template * test on iOS, and disable part cases * alBufferData instead of alBufferDataStatic for small audio file on Apple (#19227) * changes AudioCache to use alBufferData instead of alBufferDataStatic (also makes test 19 faster to trigger openal bugs faster) The original problem: CrashIfClientProvidedBogusAudioBufferList https://github.com/cocos2d/cocos2d-x/issues/18948 is not happening anymore, but there's still a not very frequent issue that makes OpenAL crash with a call stack like this. AudioCache::readDataTask > alBufferData > CleanUpDeadBufferList It happes more frequently when the device is "cold", which means after half an hour of not using the device (locked). I could not find the actual source code for iOS OpenAL, so I used the macOS versions: https://opensource.apple.com/source/OpenAL/OpenAL-48.7/Source/OpenAL/oalImp.cpp.auto.html They seem to use CAGuard.h to make sure the dead buffer list has no threading issues. I'm worried because the CAGuard code I found has macos and win32 define but no iOS, so I'm not sure. I guess the iOS version is different and has the guard. I could not find a place in the code that's unprotected by the locks except the InitializeBufferMap() which should not be called more than once from cocos, and there's a workaround in AudioEngine-impl for it. I reduced the occurence of the CleanUpDeadBufferList crash by moving the guard in ~AudioCache to cover the alDeleteBuffers call. * remove hack method "setTimeout" on audio * AutoTest works on iOS * support set ios deployment target for root project * enable all texture2d cases, since Jiang have fixed * add CCTextureUtils to xcode project file (#176) * add leak cases for SpriteFrameCache (#177) * re-add SpriteFrameCache cases * update template file json * Update SpriteFrameCacheTest.cpp * fix compiling error
2019-01-18 15:08:25 +08:00
Viewport Camera::_defaultViewport;
Squashed commit of the following: VR support for cocos2d-x commit 087aff0aec24b81418fa2678ce0cae2d4c1e2e01 Merge: b32d329 fc44d0d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:26:33 2016 -0700 Merge branch 'v3' into vr commit b32d329f9331a4f9bbbbf946b88b31db7559934d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:25:27 2016 -0700 fix: dont' include oculus files commit 816928c6a8782984830aa92de5bed038c1306cdc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:57:26 2016 -0700 fix: missing guard in header commit 2abd4eb5a1fc961c2cbae9b00809b5e6409740db Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:43:49 2016 -0700 removed VR engines... should be part of package manager commit 583179755d1c66c02e898297230d0f882e629b98 Merge: 12f4f71 b6d6bb0 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:37 2016 -0700 Merge branch 'vr' of github.com:ricardoquesada/cocos2d-x into vr commit 12f4f71aca4fa15231976a7727faf40648d62313 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:12 2016 -0700 fix: new VR API... easier to enable/disable different VR renderers commit b6d6bb087f54cbd272fbfb9e1cf1cd6bba776ffa Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:48:04 2016 -0700 fix: compiles and runs on win10 commit e73aa8902118377abbd2192c757104c4531d2a9e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:27:06 2016 -0700 fix: vr works again commit 5615e276507edf8602f043f3130204a89dbaba69 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 18:55:18 2016 -0700 fix: compiles on windows commit 494061ee4da8fbc5616f83efb64b2c0c3932778e Merge: 284910b fd3b6d4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:13:47 2016 -0700 Merge branch 'v3' into vr commit 284910b204ee0dd76d949ea8f2b2f6b1b72e533f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:12:25 2016 -0700 android vr: better performance commit aa8328e8029143dd7c6c724f38915f0fb3b64abe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 16:10:14 2016 -0700 fix: low pass filter in accel and magnet commit f6d9b622abff5abb95ad60fa7139f3ce1ec9caab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 15:43:00 2016 -0700 fix: removes debugging info commit 2004f0ce5605dad70ff8656a058073181346f083 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 14:54:32 2016 -0700 fix: kind of works on android! yeah! commit d6dcb6a3410fda053f0d6fbc00af817a13a86d3b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 10 09:44:53 2016 -0700 logging commit 7e5d6ad52d39642c111e7b690173338af4e94092 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 22:53:07 2016 -0300 android head tracking compiles, doesn't work yet... how to debug java code? commit cbf5f6482aa0ae002a7dc40045ef3ffdbe192e26 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 19:45:41 2016 -0300 reading sensor from android not compiling yet commit 6ee0a3c2c43f8e8a603bfce9fddb0cce5ce79415 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 11:45:06 2016 -0300 compiles on android... finally commit fb728da756ca7ee94b316c113e2239a77d9f4b53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 18:15:12 2016 -0300 fix: compile vr android files only on android commit 90db6daef382d142bb60207d2b16936dd66ee245 Merge: 2e56f03 cc936af Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 12:15:56 2016 -0300 Merge pull request #11 from songchengjiang/riq_vr daydream VR platform supporting commit cc936afac44518a00b90ec3133aaac5d00f0b91f Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:38:27 2016 +0800 remove VR 3rdparty dependence commit 5f7a1a9c80f84cc915763ad6f52ffc524dd59309 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:34:37 2016 +0800 remove VR 3rdparty dependence commit 3f72ecde2a259357a137bec1e99e731a2e78df84 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:28:43 2016 +0800 remove VR 3rdparty dependence commit 2e56f032d1daced1b66b984acacc6f5007f5ecc3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 3 10:45:44 2016 -0300 fix: started android support commit 1910c9c488ee4315110081b60438aa1b7c1011f2 Author: songchengjiang <moses_jc@sina.com> Date: Thu Jun 2 15:58:34 2016 +0800 add CCVRGvrRenderer and CCVRGvrHeadTracker framework commit 96200eedea9234287153d71b4f198077cc49389a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 13:07:44 2016 -0300 fix: little fixes commit a2eb8114b2969beca83762ba829c8cb809b1615a Merge: 20a74e0 5fddebc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 12:12:59 2016 -0300 Merge pull request #10 from songchengjiang/riq_vr bugs fixed commit 5fddebcae997db9e1a4108413d73b0d057a61e83 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 15:57:30 2016 +0800 parameter corrected commit 925aad012ae513ebeeec682b003123a3c543759f Merge: 9b5e02f 20a74e0 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 15:46:13 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: cocos/2d/CCScene.cpp commit 9b5e02fa7c9fcdd15cfea99769560ed30b976e9e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 14:36:31 2016 +0800 fixed ProjectionMatrix error on oculus platform fixed ScrollView error on oculus platform commit 3c63ead1943d1cf8aa3c0fd722a4b3834db323b1 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 10:51:46 2016 +0800 bugs fixed mobile VR platforms: fixed ProjectionMatrix error fixed culling error of ScrollView commit 20a74e064708e6bf9d15cc5551d1f86af9d24010 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 20 09:22:45 2016 -0300 fix: setAdditionalTransform support reference commit 8341df82a02683b8e4ae02654e90617a2e5ced6d Merge: 83751de 469d38d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 18 07:38:49 2016 -0700 Merge pull request #8 from songchengjiang/riq_vr Finished VR integration of SKDs based on VRProtocol commit 469d38d778cd5f947098a08d8fd14ca6f32b0502 Author: songchengjiang <moses_jc@sina.com> Date: Wed May 18 15:32:32 2016 +0800 fix bug of deepoon's headtracking commit 83751deac133910c24321ddaddff93bf736de884 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 09:41:17 2016 -0700 fix: Scene inverts the eye matrix commit 41ae41969a71fd5b07396faac78e777c4afbe5c4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 06:54:34 2016 -0700 fix: inversed matrix for camera commit 049dee721356a47b19f5e51a0face6a5a1647095 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Tue May 17 15:51:57 2016 +0800 add headtracker of oculus commit 3f6478352a4baebc684105156389655edbac7e6f Author: songchengjiang <moses_jc@sina.com> Date: Tue May 17 14:22:56 2016 +0800 add headtracker of SKDs gearvr/deepoon/cardboard commit 59df985b72adf0dbb5a4c66c80ae7299b16ae909 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 22:12:23 2016 -0700 fix: head tracker works commit 306c59da0175708c96b5757f5f27afd6a6592fe3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 17:55:43 2016 -0700 fix: adds missing methods to `VRIHeadTracker` commit 91100b8a86d78801fbcd08e99427d6a6363ad69b Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 14:17:21 2016 +0800 Rename Oculus's files commit 01ef6215de936a8d8bb15f9ec195cb81b2b4b18f Author: songchengjiang <moses_jc@sina.com> Date: Mon May 16 11:41:56 2016 +0800 Rename files based on riq's changes commit 734efbb045064d24df095c5b8fc604ef2aab1dea Merge: 91449c9 769a883 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:57:57 2016 +0800 Merge branch 'riq_vr' of https://github.com/songchengjiang/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/vr/CCVRGeneric.cpp cocos/vr/CCVRGenericHeadTracker.h commit 91449c9d23e357549cb1aeae6d1454274def1aab Merge: d3e4550 a33faaf Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:54:44 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/platform/CCGLView.cpp commit a33faafa1a2b6cffdc32d87f3c1c321f46f94789 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sat May 14 00:57:54 2016 -0700 fix: adds head tracker commit ea348cf72d3e54dc3864571bff1405909dbb65c9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:40:32 2016 -0700 fix: removes red background commit 113c7debe9a35fc142183a9012cac40063e17efe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:39:31 2016 -0700 fix: centers image commit 769a883c93f4f7c6191462626845f01d6f8596fe Author: songchengjiang <moses_jc@sina.com> Date: Fri May 13 20:36:19 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr commit d3e45501cd2cada87735390a407fbd44e61cd84e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 17:52:46 2016 +0800 update win32 project for VR commit ba0fdb8b8e1efaf8fdf88e044e701fb5bedb4839 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 23:21:50 2016 -0700 fix: no hardcoded values code is simpler, fixed a few bugs commit b30596cdae4cdcf39d960a39661a79200b27c7a8 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 21:50:18 2016 -0700 fix: simplified distortion commit 37b184f084e7b50bac9a5a3c59a87f8f03440b53 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 09:39:34 2016 +0800 finished VR rendering of Oculus commit f7d74cd0a2479541c0546d0ec41fe4f867405fcc Author: songchengjiang <moses_jc@sina.com> Date: Thu May 12 10:00:43 2016 +0800 Finished GearVR and Deepoon VR rendering integration commit 776fb4fd7420f1c14403eb476df1e9716362f1e5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 11 16:56:57 2016 -0700 fix: distortion working... with too many hardcoded values time to "un-hardcode" the values commit 0584773cca88c5b3dee72821830841f617cfb21c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 19:49:07 2016 -0700 feat: distortion WIP commit 9b5ef01776eaa617dd4677c3824e50c1f9da41c6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 15:49:17 2016 -0700 fix: simpler one texture that holds both left and right eye commit bfff504c499c253a0c36b342e6b5bcb0edf4fed7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 9 10:50:43 2016 -0700 fix: Camera code is cleaner commit fcf730bc2afc6c4552787273577e1942088c2e42 Author: songchengjiang <moses_jc@sina.com> Date: Mon May 9 16:43:58 2016 +0800 support cardboard VR rendering commit f88b834b70fbfb28db0c8442e68984c61192d7cc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 21:16:10 2016 -0700 fix: proj fixes. works ok in any resolution commit f980a616837b0f259d9564e622c78e0f4869ed53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 19:08:47 2016 -0700 fix: renders ok in any device commit 4799ad32ea38ddd217e80e868c3d9021c03e88ce Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Apr 28 16:46:30 2016 -0700 fix: renders something fix: passing camera to scene adds a way to return user camera fix: stereo rendering works fix: viewport left is correct fix: scissor is not needed... fix: works! fix: minor fixes fix: new approach... almost working fix: camera is moved whitespace fixes fix: whitespaces fix: new line commit c137a53aba227cf2e2a1809b55cb9b3da25d432b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Apr 27 18:56:41 2016 -0700 fix: VR refactor... still WIP commit 16fde77d71b8309e982bf6fa4f4ee0acea5fc0d1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Apr 26 22:21:21 2016 -0700 feat: VR, initial commit
2016-06-16 02:33:25 +08:00
// start static methods
Camera* Camera::create()
2014-08-07 15:23:31 +08:00
{
2021-12-08 00:11:53 +08:00
Camera* camera = new Camera();
2014-08-13 15:57:22 +08:00
camera->initDefault();
camera->autorelease();
2019-10-09 17:50:32 +08:00
camera->setDepth(0);
2021-12-25 10:04:45 +08:00
2014-08-07 15:23:31 +08:00
return camera;
}
Camera* Camera::createPerspective(float fieldOfView, float aspectRatio, float nearPlane, float farPlane)
{
2021-12-08 00:11:53 +08:00
auto ret = new Camera();
ret->_fieldOfView = fieldOfView;
ret->_aspectRatio = aspectRatio;
ret->_nearPlane = nearPlane;
ret->_farPlane = farPlane;
2021-12-08 00:11:53 +08:00
ret->initPerspective(fieldOfView, aspectRatio, nearPlane, farPlane);
ret->_isCameraInitialized = true;
2021-12-08 00:11:53 +08:00
ret->autorelease();
return ret;
2014-08-07 15:23:31 +08:00
}
Camera* Camera::createOrthographic(float zoomX, float zoomY, float nearPlane, float farPlane)
{
2021-12-08 00:11:53 +08:00
auto ret = new Camera();
ret->_zoom[0] = zoomX;
ret->_zoom[1] = zoomY;
ret->_nearPlane = nearPlane;
ret->_farPlane = farPlane;
2021-12-08 00:11:53 +08:00
ret->initOrthographic(zoomX, zoomY, nearPlane, farPlane);
ret->_isCameraInitialized = true;
2021-12-08 00:11:53 +08:00
ret->autorelease();
return ret;
2014-08-07 15:23:31 +08:00
}
Squashed commit of the following: VR support for cocos2d-x commit 087aff0aec24b81418fa2678ce0cae2d4c1e2e01 Merge: b32d329 fc44d0d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:26:33 2016 -0700 Merge branch 'v3' into vr commit b32d329f9331a4f9bbbbf946b88b31db7559934d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:25:27 2016 -0700 fix: dont' include oculus files commit 816928c6a8782984830aa92de5bed038c1306cdc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:57:26 2016 -0700 fix: missing guard in header commit 2abd4eb5a1fc961c2cbae9b00809b5e6409740db Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:43:49 2016 -0700 removed VR engines... should be part of package manager commit 583179755d1c66c02e898297230d0f882e629b98 Merge: 12f4f71 b6d6bb0 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:37 2016 -0700 Merge branch 'vr' of github.com:ricardoquesada/cocos2d-x into vr commit 12f4f71aca4fa15231976a7727faf40648d62313 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:12 2016 -0700 fix: new VR API... easier to enable/disable different VR renderers commit b6d6bb087f54cbd272fbfb9e1cf1cd6bba776ffa Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:48:04 2016 -0700 fix: compiles and runs on win10 commit e73aa8902118377abbd2192c757104c4531d2a9e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:27:06 2016 -0700 fix: vr works again commit 5615e276507edf8602f043f3130204a89dbaba69 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 18:55:18 2016 -0700 fix: compiles on windows commit 494061ee4da8fbc5616f83efb64b2c0c3932778e Merge: 284910b fd3b6d4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:13:47 2016 -0700 Merge branch 'v3' into vr commit 284910b204ee0dd76d949ea8f2b2f6b1b72e533f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:12:25 2016 -0700 android vr: better performance commit aa8328e8029143dd7c6c724f38915f0fb3b64abe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 16:10:14 2016 -0700 fix: low pass filter in accel and magnet commit f6d9b622abff5abb95ad60fa7139f3ce1ec9caab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 15:43:00 2016 -0700 fix: removes debugging info commit 2004f0ce5605dad70ff8656a058073181346f083 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 14:54:32 2016 -0700 fix: kind of works on android! yeah! commit d6dcb6a3410fda053f0d6fbc00af817a13a86d3b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 10 09:44:53 2016 -0700 logging commit 7e5d6ad52d39642c111e7b690173338af4e94092 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 22:53:07 2016 -0300 android head tracking compiles, doesn't work yet... how to debug java code? commit cbf5f6482aa0ae002a7dc40045ef3ffdbe192e26 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 19:45:41 2016 -0300 reading sensor from android not compiling yet commit 6ee0a3c2c43f8e8a603bfce9fddb0cce5ce79415 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 11:45:06 2016 -0300 compiles on android... finally commit fb728da756ca7ee94b316c113e2239a77d9f4b53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 18:15:12 2016 -0300 fix: compile vr android files only on android commit 90db6daef382d142bb60207d2b16936dd66ee245 Merge: 2e56f03 cc936af Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 12:15:56 2016 -0300 Merge pull request #11 from songchengjiang/riq_vr daydream VR platform supporting commit cc936afac44518a00b90ec3133aaac5d00f0b91f Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:38:27 2016 +0800 remove VR 3rdparty dependence commit 5f7a1a9c80f84cc915763ad6f52ffc524dd59309 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:34:37 2016 +0800 remove VR 3rdparty dependence commit 3f72ecde2a259357a137bec1e99e731a2e78df84 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:28:43 2016 +0800 remove VR 3rdparty dependence commit 2e56f032d1daced1b66b984acacc6f5007f5ecc3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 3 10:45:44 2016 -0300 fix: started android support commit 1910c9c488ee4315110081b60438aa1b7c1011f2 Author: songchengjiang <moses_jc@sina.com> Date: Thu Jun 2 15:58:34 2016 +0800 add CCVRGvrRenderer and CCVRGvrHeadTracker framework commit 96200eedea9234287153d71b4f198077cc49389a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 13:07:44 2016 -0300 fix: little fixes commit a2eb8114b2969beca83762ba829c8cb809b1615a Merge: 20a74e0 5fddebc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 12:12:59 2016 -0300 Merge pull request #10 from songchengjiang/riq_vr bugs fixed commit 5fddebcae997db9e1a4108413d73b0d057a61e83 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 15:57:30 2016 +0800 parameter corrected commit 925aad012ae513ebeeec682b003123a3c543759f Merge: 9b5e02f 20a74e0 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 15:46:13 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: cocos/2d/CCScene.cpp commit 9b5e02fa7c9fcdd15cfea99769560ed30b976e9e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 14:36:31 2016 +0800 fixed ProjectionMatrix error on oculus platform fixed ScrollView error on oculus platform commit 3c63ead1943d1cf8aa3c0fd722a4b3834db323b1 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 10:51:46 2016 +0800 bugs fixed mobile VR platforms: fixed ProjectionMatrix error fixed culling error of ScrollView commit 20a74e064708e6bf9d15cc5551d1f86af9d24010 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 20 09:22:45 2016 -0300 fix: setAdditionalTransform support reference commit 8341df82a02683b8e4ae02654e90617a2e5ced6d Merge: 83751de 469d38d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 18 07:38:49 2016 -0700 Merge pull request #8 from songchengjiang/riq_vr Finished VR integration of SKDs based on VRProtocol commit 469d38d778cd5f947098a08d8fd14ca6f32b0502 Author: songchengjiang <moses_jc@sina.com> Date: Wed May 18 15:32:32 2016 +0800 fix bug of deepoon's headtracking commit 83751deac133910c24321ddaddff93bf736de884 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 09:41:17 2016 -0700 fix: Scene inverts the eye matrix commit 41ae41969a71fd5b07396faac78e777c4afbe5c4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 06:54:34 2016 -0700 fix: inversed matrix for camera commit 049dee721356a47b19f5e51a0face6a5a1647095 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Tue May 17 15:51:57 2016 +0800 add headtracker of oculus commit 3f6478352a4baebc684105156389655edbac7e6f Author: songchengjiang <moses_jc@sina.com> Date: Tue May 17 14:22:56 2016 +0800 add headtracker of SKDs gearvr/deepoon/cardboard commit 59df985b72adf0dbb5a4c66c80ae7299b16ae909 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 22:12:23 2016 -0700 fix: head tracker works commit 306c59da0175708c96b5757f5f27afd6a6592fe3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 17:55:43 2016 -0700 fix: adds missing methods to `VRIHeadTracker` commit 91100b8a86d78801fbcd08e99427d6a6363ad69b Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 14:17:21 2016 +0800 Rename Oculus's files commit 01ef6215de936a8d8bb15f9ec195cb81b2b4b18f Author: songchengjiang <moses_jc@sina.com> Date: Mon May 16 11:41:56 2016 +0800 Rename files based on riq's changes commit 734efbb045064d24df095c5b8fc604ef2aab1dea Merge: 91449c9 769a883 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:57:57 2016 +0800 Merge branch 'riq_vr' of https://github.com/songchengjiang/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/vr/CCVRGeneric.cpp cocos/vr/CCVRGenericHeadTracker.h commit 91449c9d23e357549cb1aeae6d1454274def1aab Merge: d3e4550 a33faaf Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:54:44 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/platform/CCGLView.cpp commit a33faafa1a2b6cffdc32d87f3c1c321f46f94789 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sat May 14 00:57:54 2016 -0700 fix: adds head tracker commit ea348cf72d3e54dc3864571bff1405909dbb65c9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:40:32 2016 -0700 fix: removes red background commit 113c7debe9a35fc142183a9012cac40063e17efe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:39:31 2016 -0700 fix: centers image commit 769a883c93f4f7c6191462626845f01d6f8596fe Author: songchengjiang <moses_jc@sina.com> Date: Fri May 13 20:36:19 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr commit d3e45501cd2cada87735390a407fbd44e61cd84e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 17:52:46 2016 +0800 update win32 project for VR commit ba0fdb8b8e1efaf8fdf88e044e701fb5bedb4839 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 23:21:50 2016 -0700 fix: no hardcoded values code is simpler, fixed a few bugs commit b30596cdae4cdcf39d960a39661a79200b27c7a8 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 21:50:18 2016 -0700 fix: simplified distortion commit 37b184f084e7b50bac9a5a3c59a87f8f03440b53 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 09:39:34 2016 +0800 finished VR rendering of Oculus commit f7d74cd0a2479541c0546d0ec41fe4f867405fcc Author: songchengjiang <moses_jc@sina.com> Date: Thu May 12 10:00:43 2016 +0800 Finished GearVR and Deepoon VR rendering integration commit 776fb4fd7420f1c14403eb476df1e9716362f1e5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 11 16:56:57 2016 -0700 fix: distortion working... with too many hardcoded values time to "un-hardcode" the values commit 0584773cca88c5b3dee72821830841f617cfb21c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 19:49:07 2016 -0700 feat: distortion WIP commit 9b5ef01776eaa617dd4677c3824e50c1f9da41c6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 15:49:17 2016 -0700 fix: simpler one texture that holds both left and right eye commit bfff504c499c253a0c36b342e6b5bcb0edf4fed7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 9 10:50:43 2016 -0700 fix: Camera code is cleaner commit fcf730bc2afc6c4552787273577e1942088c2e42 Author: songchengjiang <moses_jc@sina.com> Date: Mon May 9 16:43:58 2016 +0800 support cardboard VR rendering commit f88b834b70fbfb28db0c8442e68984c61192d7cc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 21:16:10 2016 -0700 fix: proj fixes. works ok in any resolution commit f980a616837b0f259d9564e622c78e0f4869ed53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 19:08:47 2016 -0700 fix: renders ok in any device commit 4799ad32ea38ddd217e80e868c3d9021c03e88ce Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Apr 28 16:46:30 2016 -0700 fix: renders something fix: passing camera to scene adds a way to return user camera fix: stereo rendering works fix: viewport left is correct fix: scissor is not needed... fix: works! fix: minor fixes fix: new approach... almost working fix: camera is moved whitespace fixes fix: whitespaces fix: new line commit c137a53aba227cf2e2a1809b55cb9b3da25d432b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Apr 27 18:56:41 2016 -0700 fix: VR refactor... still WIP commit 16fde77d71b8309e982bf6fa4f4ee0acea5fc0d1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Apr 26 22:21:21 2016 -0700 feat: VR, initial commit
2016-06-16 02:33:25 +08:00
Camera* Camera::getDefaultCamera()
{
2022-07-01 08:39:27 +08:00
// camera nullptr scene init fix #690
2022-07-01 10:54:20 +08:00
auto scene = Director::getInstance()->getRunningScene();
2022-07-16 10:43:05 +08:00
AXASSERT(scene, "Scene is not done initializing, please use this->_defaultCamera instead.");
2022-07-01 10:54:20 +08:00
return scene->getDefaultCamera();
Squashed commit of the following: VR support for cocos2d-x commit 087aff0aec24b81418fa2678ce0cae2d4c1e2e01 Merge: b32d329 fc44d0d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:26:33 2016 -0700 Merge branch 'v3' into vr commit b32d329f9331a4f9bbbbf946b88b31db7559934d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:25:27 2016 -0700 fix: dont' include oculus files commit 816928c6a8782984830aa92de5bed038c1306cdc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:57:26 2016 -0700 fix: missing guard in header commit 2abd4eb5a1fc961c2cbae9b00809b5e6409740db Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:43:49 2016 -0700 removed VR engines... should be part of package manager commit 583179755d1c66c02e898297230d0f882e629b98 Merge: 12f4f71 b6d6bb0 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:37 2016 -0700 Merge branch 'vr' of github.com:ricardoquesada/cocos2d-x into vr commit 12f4f71aca4fa15231976a7727faf40648d62313 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:12 2016 -0700 fix: new VR API... easier to enable/disable different VR renderers commit b6d6bb087f54cbd272fbfb9e1cf1cd6bba776ffa Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:48:04 2016 -0700 fix: compiles and runs on win10 commit e73aa8902118377abbd2192c757104c4531d2a9e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:27:06 2016 -0700 fix: vr works again commit 5615e276507edf8602f043f3130204a89dbaba69 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 18:55:18 2016 -0700 fix: compiles on windows commit 494061ee4da8fbc5616f83efb64b2c0c3932778e Merge: 284910b fd3b6d4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:13:47 2016 -0700 Merge branch 'v3' into vr commit 284910b204ee0dd76d949ea8f2b2f6b1b72e533f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:12:25 2016 -0700 android vr: better performance commit aa8328e8029143dd7c6c724f38915f0fb3b64abe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 16:10:14 2016 -0700 fix: low pass filter in accel and magnet commit f6d9b622abff5abb95ad60fa7139f3ce1ec9caab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 15:43:00 2016 -0700 fix: removes debugging info commit 2004f0ce5605dad70ff8656a058073181346f083 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 14:54:32 2016 -0700 fix: kind of works on android! yeah! commit d6dcb6a3410fda053f0d6fbc00af817a13a86d3b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 10 09:44:53 2016 -0700 logging commit 7e5d6ad52d39642c111e7b690173338af4e94092 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 22:53:07 2016 -0300 android head tracking compiles, doesn't work yet... how to debug java code? commit cbf5f6482aa0ae002a7dc40045ef3ffdbe192e26 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 19:45:41 2016 -0300 reading sensor from android not compiling yet commit 6ee0a3c2c43f8e8a603bfce9fddb0cce5ce79415 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 11:45:06 2016 -0300 compiles on android... finally commit fb728da756ca7ee94b316c113e2239a77d9f4b53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 18:15:12 2016 -0300 fix: compile vr android files only on android commit 90db6daef382d142bb60207d2b16936dd66ee245 Merge: 2e56f03 cc936af Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 12:15:56 2016 -0300 Merge pull request #11 from songchengjiang/riq_vr daydream VR platform supporting commit cc936afac44518a00b90ec3133aaac5d00f0b91f Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:38:27 2016 +0800 remove VR 3rdparty dependence commit 5f7a1a9c80f84cc915763ad6f52ffc524dd59309 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:34:37 2016 +0800 remove VR 3rdparty dependence commit 3f72ecde2a259357a137bec1e99e731a2e78df84 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:28:43 2016 +0800 remove VR 3rdparty dependence commit 2e56f032d1daced1b66b984acacc6f5007f5ecc3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 3 10:45:44 2016 -0300 fix: started android support commit 1910c9c488ee4315110081b60438aa1b7c1011f2 Author: songchengjiang <moses_jc@sina.com> Date: Thu Jun 2 15:58:34 2016 +0800 add CCVRGvrRenderer and CCVRGvrHeadTracker framework commit 96200eedea9234287153d71b4f198077cc49389a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 13:07:44 2016 -0300 fix: little fixes commit a2eb8114b2969beca83762ba829c8cb809b1615a Merge: 20a74e0 5fddebc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 12:12:59 2016 -0300 Merge pull request #10 from songchengjiang/riq_vr bugs fixed commit 5fddebcae997db9e1a4108413d73b0d057a61e83 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 15:57:30 2016 +0800 parameter corrected commit 925aad012ae513ebeeec682b003123a3c543759f Merge: 9b5e02f 20a74e0 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 15:46:13 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: cocos/2d/CCScene.cpp commit 9b5e02fa7c9fcdd15cfea99769560ed30b976e9e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 14:36:31 2016 +0800 fixed ProjectionMatrix error on oculus platform fixed ScrollView error on oculus platform commit 3c63ead1943d1cf8aa3c0fd722a4b3834db323b1 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 10:51:46 2016 +0800 bugs fixed mobile VR platforms: fixed ProjectionMatrix error fixed culling error of ScrollView commit 20a74e064708e6bf9d15cc5551d1f86af9d24010 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 20 09:22:45 2016 -0300 fix: setAdditionalTransform support reference commit 8341df82a02683b8e4ae02654e90617a2e5ced6d Merge: 83751de 469d38d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 18 07:38:49 2016 -0700 Merge pull request #8 from songchengjiang/riq_vr Finished VR integration of SKDs based on VRProtocol commit 469d38d778cd5f947098a08d8fd14ca6f32b0502 Author: songchengjiang <moses_jc@sina.com> Date: Wed May 18 15:32:32 2016 +0800 fix bug of deepoon's headtracking commit 83751deac133910c24321ddaddff93bf736de884 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 09:41:17 2016 -0700 fix: Scene inverts the eye matrix commit 41ae41969a71fd5b07396faac78e777c4afbe5c4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 06:54:34 2016 -0700 fix: inversed matrix for camera commit 049dee721356a47b19f5e51a0face6a5a1647095 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Tue May 17 15:51:57 2016 +0800 add headtracker of oculus commit 3f6478352a4baebc684105156389655edbac7e6f Author: songchengjiang <moses_jc@sina.com> Date: Tue May 17 14:22:56 2016 +0800 add headtracker of SKDs gearvr/deepoon/cardboard commit 59df985b72adf0dbb5a4c66c80ae7299b16ae909 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 22:12:23 2016 -0700 fix: head tracker works commit 306c59da0175708c96b5757f5f27afd6a6592fe3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 17:55:43 2016 -0700 fix: adds missing methods to `VRIHeadTracker` commit 91100b8a86d78801fbcd08e99427d6a6363ad69b Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 14:17:21 2016 +0800 Rename Oculus's files commit 01ef6215de936a8d8bb15f9ec195cb81b2b4b18f Author: songchengjiang <moses_jc@sina.com> Date: Mon May 16 11:41:56 2016 +0800 Rename files based on riq's changes commit 734efbb045064d24df095c5b8fc604ef2aab1dea Merge: 91449c9 769a883 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:57:57 2016 +0800 Merge branch 'riq_vr' of https://github.com/songchengjiang/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/vr/CCVRGeneric.cpp cocos/vr/CCVRGenericHeadTracker.h commit 91449c9d23e357549cb1aeae6d1454274def1aab Merge: d3e4550 a33faaf Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:54:44 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/platform/CCGLView.cpp commit a33faafa1a2b6cffdc32d87f3c1c321f46f94789 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sat May 14 00:57:54 2016 -0700 fix: adds head tracker commit ea348cf72d3e54dc3864571bff1405909dbb65c9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:40:32 2016 -0700 fix: removes red background commit 113c7debe9a35fc142183a9012cac40063e17efe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:39:31 2016 -0700 fix: centers image commit 769a883c93f4f7c6191462626845f01d6f8596fe Author: songchengjiang <moses_jc@sina.com> Date: Fri May 13 20:36:19 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr commit d3e45501cd2cada87735390a407fbd44e61cd84e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 17:52:46 2016 +0800 update win32 project for VR commit ba0fdb8b8e1efaf8fdf88e044e701fb5bedb4839 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 23:21:50 2016 -0700 fix: no hardcoded values code is simpler, fixed a few bugs commit b30596cdae4cdcf39d960a39661a79200b27c7a8 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 21:50:18 2016 -0700 fix: simplified distortion commit 37b184f084e7b50bac9a5a3c59a87f8f03440b53 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 09:39:34 2016 +0800 finished VR rendering of Oculus commit f7d74cd0a2479541c0546d0ec41fe4f867405fcc Author: songchengjiang <moses_jc@sina.com> Date: Thu May 12 10:00:43 2016 +0800 Finished GearVR and Deepoon VR rendering integration commit 776fb4fd7420f1c14403eb476df1e9716362f1e5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 11 16:56:57 2016 -0700 fix: distortion working... with too many hardcoded values time to "un-hardcode" the values commit 0584773cca88c5b3dee72821830841f617cfb21c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 19:49:07 2016 -0700 feat: distortion WIP commit 9b5ef01776eaa617dd4677c3824e50c1f9da41c6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 15:49:17 2016 -0700 fix: simpler one texture that holds both left and right eye commit bfff504c499c253a0c36b342e6b5bcb0edf4fed7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 9 10:50:43 2016 -0700 fix: Camera code is cleaner commit fcf730bc2afc6c4552787273577e1942088c2e42 Author: songchengjiang <moses_jc@sina.com> Date: Mon May 9 16:43:58 2016 +0800 support cardboard VR rendering commit f88b834b70fbfb28db0c8442e68984c61192d7cc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 21:16:10 2016 -0700 fix: proj fixes. works ok in any resolution commit f980a616837b0f259d9564e622c78e0f4869ed53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 19:08:47 2016 -0700 fix: renders ok in any device commit 4799ad32ea38ddd217e80e868c3d9021c03e88ce Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Apr 28 16:46:30 2016 -0700 fix: renders something fix: passing camera to scene adds a way to return user camera fix: stereo rendering works fix: viewport left is correct fix: scissor is not needed... fix: works! fix: minor fixes fix: new approach... almost working fix: camera is moved whitespace fixes fix: whitespaces fix: new line commit c137a53aba227cf2e2a1809b55cb9b3da25d432b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Apr 27 18:56:41 2016 -0700 fix: VR refactor... still WIP commit 16fde77d71b8309e982bf6fa4f4ee0acea5fc0d1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Apr 26 22:21:21 2016 -0700 feat: VR, initial commit
2016-06-16 02:33:25 +08:00
return nullptr;
}
metal support for cocos2d-x (#19305) * remove deprecated files * remove some deprecated codes * remove more deprecated codes * remove ui deprecated codes * remove more deprecated codes * remove deprecated codes in ccmenuitem * remove more deprecated codes in ui * remove more deprecated codes in ui * remove more deprecated codes in ui * remove more deprecated codes * remove more deprecated codes * remove more deprecated codes * remove vr related codes and ignore some modules * remove allocator * remove some config * 【Feature】add back-end project file * [Feature] add back-end file * add pipeline descriptor and shader cache * [Feature] support sprite for backend * [Feature] remove unneeded code * [Feature] according to es2.0 spec, you must use clamp-to-edge as texture wrap mode, and no mipmapping for non-power-of-two texture * [Feature] set texture wrap mode to clamp-to-edge, and no mipmapping for non-power-of-two texture * [Feature] remove macro define to .cpp file * [Feature] add log info * [Feature] add PipelineDescriptor for TriangleCommand * [Feature] add PipelineDescriptor object as member of TriangleCommand * [Feature] add getPipelineDescriptor method * add renderbackend * complete pipeline descriptor * [Feature] add viewport in RenderCommand * set viewport when rendrering * [Feature] occur error when using RendererBackend, to be fixed. * a workaround to fix black screen on macOS 10.14 (#19090) * add rendererbackend init function * fix typo * [Feature] modify testFile * [BugFix] modify shader path * [Feature] set default viewport * fix projection * [Feature] modify log info * [BugFix] change viewport data type to int * [BugFix] add BindGroup to PipelienDescriptor * [BugFix] change a_position to vec3 in sprite.vert * [BugFix] set vertexLayout according to V3F_C4B_T2F structure * [Feature] revert a_position to vec4 * [Feature] renderer should not use gl codes directly * [Feature] it's better not use default value parameter * fix depth test setting * rendererbackend -> renderer * clear color and depth at begin * add metal backend * metal support normalized attribute * simplify codes * update external * add render pass desctriptor in pipeline descriptor * fix warnings * fix crash and memeory leak * refactor Texture2D * put pipeline descriptor into render command * simplify codes * [Feature] update Sprite * fix crash when closing app * [Feature] update SpriteBatchNode and TextureAtlas * support render texture(not finish) * [Feature] remove unused code * make tests work on mac * fix download-deps path error * make tests work on iOS * [Feature] support ttf under normal label effect * refactor triangle command processing * let renderer handle more common commands * refactor backend * make render texture work * [Feature] refactor backend for GL * [Feature]Renaming to make it easy to understand * [Feature] change warp mode to CLAMP_TO_EDGE * fix ghost * simplify visit render queue logic * support progress timer without rial mode * support partcile system * Feature/update label (#149) * [BugFix] fix compile error * [Feature] support outline effect in ios * [Feature] add shader file * [BugFix] fix begin and end RenderPass * [Feature] update CustomCommand * [Feature] revert project.pbxproj * [Feature] simplify codes * [BugFix] pack AI88 to RGBA8888 only when outline enable * [Feature] support shadow effect in Label * [Feature] support BMFont * [Feature] support glow effect * [Feature] simplify shader files * LabelAtlas work * handle blend function correctly * support tile map * don't share buffer in metal * alloc buffer size as needed * support more tilemap * Merge branch 'minggo/metal-support' into feature/updateLabel * minggo/metal-support: support tile map handle blend function correctly LabelAtlas work Feature/update label (#149) support partcile system # Conflicts: # cocos/2d/CCLabel.cpp # cocos/2d/CCSprite.cpp # cocos/2d/CCSpriteBatchNode.cpp # cocos/renderer/CCQuadCommand.cpp # cocos/renderer/CCQuadCommand.h * render texture work without saving file * use global viewport * grid3d works * remove grabber * tiled3d works * [BugFix] fix label bug * [Feature] add updateSubData for buffer * [Feature] remove setVertexCount * support depth test * add callback command * [Feature] add UITest * [Feature] update UITest * [Feature] remove unneeded codes * fix custom command issue * fix layer color blend issue * [BugFix] fix iOS compile error * [Feature] remove unneeded codes * [Feature] fix updateVertexBuffer * layerradial works * add draw test back * fix batch issue * fix compiling error * [BugFix] support ETC1 * [BugFix] get the correct pipelineDescriptor * [BugFix] skip draw when backendTexture nullptr * clipping node support * [Feature] add shader files * fix stencil issue in metal * [Feature] update UILayoutTest * [BugFix] skip drawing when vertexCount is zero * refactor renderer * add set global z order for stencil manager commands * fix warnings caused by type * remove viewport in render command * [Feature] fix warnings caused by type * [BugFix] clear vertexCount and indexCount for CustomComand when needed * [Feature] update clear for CustomCommand * ios use metal * fix viewport issue * fix LayerColorGradient crash * [cmake] transport to android and windows (#160) * save point 1 * compile on windows * run on android * revert useless change * android set CC_ENABLE_CACHE_TEXTURE_DATA to 1 * add initGlew * fix android crash * add TODO new-renderer * review update * revert onGLFWWindowPosCallback * fix android compiling error * Impl progress radial (#162) * progresstimer add radial impl * default drawType to element * dec invoke times of createVertexBuffer (#163) * support depth/stencil format for gl backend * simplify progress timer codes * support motionstreak, effect is wrong * fix motionstreak issue * [Feature] update Scissor Test (#161) * [Feature] update Scissor Test * [Feature] update ScissorTest * [Feature] rename function * [Feature] get constant reference if needed * [Feature] show render status (#164) * improve performance * fix depth state * fill error that triangle vertex/index number bigger than buffer * fix compiline error in release mode * fix buffer conflict between CPU and GPU on iOS/macOS * Renderer refactor (#165) * use one vertes/index buffer with opengl * fix error on windows * custom command support index format config * CCLayer: compact vertex data structure * update comment * fix doc * support fast tilemap * pass index format instead * fix some wrong effect * fix render texture error * fix texture per-element size * fix texture format error * BlendFunc type refactor, GLenum -> backend::BlendFactor (#167) * BlendFunc use backend::BlendFactor as inner field * update comments * use int to replace GLenum * update xcode project fiel * rename to GLBlendConst * add ccConstants.h * update xcode project file * update copyright * remove primitive command * remove CCPrimitive.cpp/.h * remove deprecated files * remove unneeded files * remove multiple view support * remove multiple view support * remove the usage of frame buffer in camera * director don't use frame buffer * remove FrameBuffer * remove BatchCommand * add some api reference * add physics2d back * fix crash when close app on mac * improve render texture * fix rendertexture issue * fix rendertexture issue * simplify codes * CMake support for mac & ios (#169) * update cmake * fix compile error * update 3rd libs version * remove CCThread.h/.cpp * remove ccthread * use audio engine to implement simple audio engine * remove unneeded codes * remove deprecated codes * remove winrt macro * remove CC_USE_WIC * set partcile blend function in more elegant way * remove unneeded codes * remove unneeded codes * cmake works on windows * update project setting * improve performance * GLFloat -> float * sync v3 cmake improvements into metal-support (#172) * pick: modern cmake, compile definitions improvement (#19139) * modern cmake, use target_compile_definitions partly * simplify macro define, remove USE_* * modern cmake, macro define * add physics 2d macro define into ccConfig.h * remove USE_CHIPMUNK macro in build.gradle * remove CocosSelectModule.cmake * shrink useless define * simplify compile options config, re-add if necessary * update external for tmp CI test * un-quote target_compile_options value * add "-g" parameter only when debug mode * keep single build type when generator Xcode & VS projecy * update external for tmp CI tes * add static_cast<char>(-1), fix -Wc++11-narrowing * simplify win32 compile define * not modify code, only improve compile options # Conflicts: # .gitignore # cmake/Modules/CocosConfigDepend.cmake # cocos/CMakeLists.txt # external/config.json # tests/cpp-tests/CMakeLists.txt * modern cmake, improve cmake_compiler_flags (#19145) * cmake_compiler_flags * Fix typo * Fix typo2 * Remove chanages from Android.mk * correct lua template cmake build (#19149) * don't add -Wno-deprecated into jsb target * correct lua template cmake build * fix win32 lua template compile error * prevent cmake in-source-build friendly (#19151) * pick: Copy resources to "Resources/" on win32 like in linux configuration * add "/Z7" for cpp-tests on windows * [cmake] fix iOS xcode property setting failed (#19208) * fix iOS xcode property setting failed * use search_depend_libs_recursive at dlls collect * fix typo * [cmake] add find_host_library into iOS toolchain file (#19230) * pick: [lua android] use luajit & template cmake update (#19239) * increase cmake stability , remove tests/CMakeLists.txt (#19261) * cmake win32 Precompiled header (#19273) * Precompiled header * Fix * Precompiled header for cocos * Precompiled header jscocos2d * Fix for COCOS2D_DEBUG is always 1 on Android (#19291) Related #19289 * little build fix, tests cpp-tests works on mac * sync v3 build related codes into metal-support (#173) * strict initialization for std::array * remove proj.win32 project configs * modern cmake, cmake_cleanup_remove_unused_variables (#19146) * Switch travis CI to xenial (#19207) * Switch travis CI to xenial * Remove language: android * Set language: cpp * Fix java problem * Update sdkmanager * Fix sdkmanger * next sdkmanager fix * Remove xenial from android * revert to sdk-tools-{system}-3859397 * Remove linux cmake install * Update before-install.sh * Update .travis.yml * Simplify install-deps-linux.sh, tested on Ubuntu 16.04 (#19212) * Simplify install-deps-linux.sh * Cleanup * pick: install ninja * update cocos2d-console submodule * for metal-support alpha release, we only test cpp * add HelloCpp into project(Cocos2d-x) for tmp test * update extenal metal-support-4 * update uniform setting * [Feature] update BindGroup * [Feature] empty-test * [Feature] cpp-test * [Feature] fix GL compiler error * [Feature] fix GL crash * [Feature] empty-test * [Feature] cpp-tests * [feature] improve frameRate * [feature] fix opengl compile error * [feature] fix opengl compile error * [BugFix] fix compute maxLocation error * [Feature] update setting unifrom * [Feature] fix namespace * [Feature] remove unneeded code * [Bugfix] fix project file * [Feature] update review * [texture2d] impl texture format support (#175) * texture update * update * update texture * commit * compile on windows * ddd * rename * rename methods * no crash * save gl * save * save * rename * move out pixel format convert functions * metal crash * update * update android * support gles compressed texture format * support more compress format * add more conversion methods * ss * save * update conversion methods * add PVRTC format support * reformat * add marco linux * fix GL marcro * pvrtc supported only by ios 8.0+ * remove unused cmake * revert change * refactor Texture2D::initWithData * fix conversion log * refactor Texture2D::initWithData * remove some OpenGL constants for PVRTC * add todo * fix typo * AutoTest works on mac/iOS by disable part cases, sync v3 bug fix (#174) * review cpp-tests, and fix part issues on start auto test * sync png format fix: Node:Particle3D abnormal texture effects #19204 * fix cpp-tests SpritePolygon crash, wrong png format (#19170) * fix wrong png convert format from sRGB to Gray * erase plist index if all frames was erased * test_A8.png have I8 format, fix it * [CCSpriteCache] allow re-add plist & add testcase (#19175) * allow re-add plist & add testcase * remove comments/rename method/update testcase * fix isSpriteFramesWithFileLoaded & add testcase * remove used variable * remove unused variable * fix double free issues when js/lua-tests exit on iOS (#19236) * disable part cases, AutoTest works without crash on mac * update cocos2dx files json, to test cocos new next * fix spritecache plist parsing issue (#19269) * [linux] Fix FileUtils::getContents with folder (#19157) * fix FileUtils::getContents on linux/mac * use stat.st_mode * simplify * [CCFileUtils] win32 getFileSize (#19176) * win32 getFileSize * fix stat * [cpp test-Android]20:FileUtils/2 change title (#19197) * sync #19200 * sync #19231 * [android lua] improve performance of lua loader (#19234) * [lua] improve performance of lua loader * remove cache fix * Revert "fix spritecache plist parsing issue (#19269)" This reverts commit f3a85ece4307a7b90816c34489d1ed2c8fd11baf. * remove win32 project files ref in template.json * add metal framework lnk ref into cpp template * test on iOS, and disable part cases * alBufferData instead of alBufferDataStatic for small audio file on Apple (#19227) * changes AudioCache to use alBufferData instead of alBufferDataStatic (also makes test 19 faster to trigger openal bugs faster) The original problem: CrashIfClientProvidedBogusAudioBufferList https://github.com/cocos2d/cocos2d-x/issues/18948 is not happening anymore, but there's still a not very frequent issue that makes OpenAL crash with a call stack like this. AudioCache::readDataTask > alBufferData > CleanUpDeadBufferList It happes more frequently when the device is "cold", which means after half an hour of not using the device (locked). I could not find the actual source code for iOS OpenAL, so I used the macOS versions: https://opensource.apple.com/source/OpenAL/OpenAL-48.7/Source/OpenAL/oalImp.cpp.auto.html They seem to use CAGuard.h to make sure the dead buffer list has no threading issues. I'm worried because the CAGuard code I found has macos and win32 define but no iOS, so I'm not sure. I guess the iOS version is different and has the guard. I could not find a place in the code that's unprotected by the locks except the InitializeBufferMap() which should not be called more than once from cocos, and there's a workaround in AudioEngine-impl for it. I reduced the occurence of the CleanUpDeadBufferList crash by moving the guard in ~AudioCache to cover the alDeleteBuffers call. * remove hack method "setTimeout" on audio * AutoTest works on iOS * support set ios deployment target for root project * enable all texture2d cases, since Jiang have fixed * add CCTextureUtils to xcode project file (#176) * add leak cases for SpriteFrameCache (#177) * re-add SpriteFrameCache cases * update template file json * Update SpriteFrameCacheTest.cpp * fix compiling error
2019-01-18 15:08:25 +08:00
const Viewport& Camera::getDefaultViewport()
Squashed commit of the following: VR support for cocos2d-x commit 087aff0aec24b81418fa2678ce0cae2d4c1e2e01 Merge: b32d329 fc44d0d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:26:33 2016 -0700 Merge branch 'v3' into vr commit b32d329f9331a4f9bbbbf946b88b31db7559934d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:25:27 2016 -0700 fix: dont' include oculus files commit 816928c6a8782984830aa92de5bed038c1306cdc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:57:26 2016 -0700 fix: missing guard in header commit 2abd4eb5a1fc961c2cbae9b00809b5e6409740db Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:43:49 2016 -0700 removed VR engines... should be part of package manager commit 583179755d1c66c02e898297230d0f882e629b98 Merge: 12f4f71 b6d6bb0 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:37 2016 -0700 Merge branch 'vr' of github.com:ricardoquesada/cocos2d-x into vr commit 12f4f71aca4fa15231976a7727faf40648d62313 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:12 2016 -0700 fix: new VR API... easier to enable/disable different VR renderers commit b6d6bb087f54cbd272fbfb9e1cf1cd6bba776ffa Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:48:04 2016 -0700 fix: compiles and runs on win10 commit e73aa8902118377abbd2192c757104c4531d2a9e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:27:06 2016 -0700 fix: vr works again commit 5615e276507edf8602f043f3130204a89dbaba69 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 18:55:18 2016 -0700 fix: compiles on windows commit 494061ee4da8fbc5616f83efb64b2c0c3932778e Merge: 284910b fd3b6d4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:13:47 2016 -0700 Merge branch 'v3' into vr commit 284910b204ee0dd76d949ea8f2b2f6b1b72e533f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:12:25 2016 -0700 android vr: better performance commit aa8328e8029143dd7c6c724f38915f0fb3b64abe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 16:10:14 2016 -0700 fix: low pass filter in accel and magnet commit f6d9b622abff5abb95ad60fa7139f3ce1ec9caab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 15:43:00 2016 -0700 fix: removes debugging info commit 2004f0ce5605dad70ff8656a058073181346f083 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 14:54:32 2016 -0700 fix: kind of works on android! yeah! commit d6dcb6a3410fda053f0d6fbc00af817a13a86d3b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 10 09:44:53 2016 -0700 logging commit 7e5d6ad52d39642c111e7b690173338af4e94092 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 22:53:07 2016 -0300 android head tracking compiles, doesn't work yet... how to debug java code? commit cbf5f6482aa0ae002a7dc40045ef3ffdbe192e26 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 19:45:41 2016 -0300 reading sensor from android not compiling yet commit 6ee0a3c2c43f8e8a603bfce9fddb0cce5ce79415 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 11:45:06 2016 -0300 compiles on android... finally commit fb728da756ca7ee94b316c113e2239a77d9f4b53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 18:15:12 2016 -0300 fix: compile vr android files only on android commit 90db6daef382d142bb60207d2b16936dd66ee245 Merge: 2e56f03 cc936af Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 12:15:56 2016 -0300 Merge pull request #11 from songchengjiang/riq_vr daydream VR platform supporting commit cc936afac44518a00b90ec3133aaac5d00f0b91f Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:38:27 2016 +0800 remove VR 3rdparty dependence commit 5f7a1a9c80f84cc915763ad6f52ffc524dd59309 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:34:37 2016 +0800 remove VR 3rdparty dependence commit 3f72ecde2a259357a137bec1e99e731a2e78df84 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:28:43 2016 +0800 remove VR 3rdparty dependence commit 2e56f032d1daced1b66b984acacc6f5007f5ecc3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 3 10:45:44 2016 -0300 fix: started android support commit 1910c9c488ee4315110081b60438aa1b7c1011f2 Author: songchengjiang <moses_jc@sina.com> Date: Thu Jun 2 15:58:34 2016 +0800 add CCVRGvrRenderer and CCVRGvrHeadTracker framework commit 96200eedea9234287153d71b4f198077cc49389a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 13:07:44 2016 -0300 fix: little fixes commit a2eb8114b2969beca83762ba829c8cb809b1615a Merge: 20a74e0 5fddebc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 12:12:59 2016 -0300 Merge pull request #10 from songchengjiang/riq_vr bugs fixed commit 5fddebcae997db9e1a4108413d73b0d057a61e83 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 15:57:30 2016 +0800 parameter corrected commit 925aad012ae513ebeeec682b003123a3c543759f Merge: 9b5e02f 20a74e0 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 15:46:13 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: cocos/2d/CCScene.cpp commit 9b5e02fa7c9fcdd15cfea99769560ed30b976e9e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 14:36:31 2016 +0800 fixed ProjectionMatrix error on oculus platform fixed ScrollView error on oculus platform commit 3c63ead1943d1cf8aa3c0fd722a4b3834db323b1 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 10:51:46 2016 +0800 bugs fixed mobile VR platforms: fixed ProjectionMatrix error fixed culling error of ScrollView commit 20a74e064708e6bf9d15cc5551d1f86af9d24010 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 20 09:22:45 2016 -0300 fix: setAdditionalTransform support reference commit 8341df82a02683b8e4ae02654e90617a2e5ced6d Merge: 83751de 469d38d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 18 07:38:49 2016 -0700 Merge pull request #8 from songchengjiang/riq_vr Finished VR integration of SKDs based on VRProtocol commit 469d38d778cd5f947098a08d8fd14ca6f32b0502 Author: songchengjiang <moses_jc@sina.com> Date: Wed May 18 15:32:32 2016 +0800 fix bug of deepoon's headtracking commit 83751deac133910c24321ddaddff93bf736de884 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 09:41:17 2016 -0700 fix: Scene inverts the eye matrix commit 41ae41969a71fd5b07396faac78e777c4afbe5c4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 06:54:34 2016 -0700 fix: inversed matrix for camera commit 049dee721356a47b19f5e51a0face6a5a1647095 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Tue May 17 15:51:57 2016 +0800 add headtracker of oculus commit 3f6478352a4baebc684105156389655edbac7e6f Author: songchengjiang <moses_jc@sina.com> Date: Tue May 17 14:22:56 2016 +0800 add headtracker of SKDs gearvr/deepoon/cardboard commit 59df985b72adf0dbb5a4c66c80ae7299b16ae909 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 22:12:23 2016 -0700 fix: head tracker works commit 306c59da0175708c96b5757f5f27afd6a6592fe3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 17:55:43 2016 -0700 fix: adds missing methods to `VRIHeadTracker` commit 91100b8a86d78801fbcd08e99427d6a6363ad69b Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 14:17:21 2016 +0800 Rename Oculus's files commit 01ef6215de936a8d8bb15f9ec195cb81b2b4b18f Author: songchengjiang <moses_jc@sina.com> Date: Mon May 16 11:41:56 2016 +0800 Rename files based on riq's changes commit 734efbb045064d24df095c5b8fc604ef2aab1dea Merge: 91449c9 769a883 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:57:57 2016 +0800 Merge branch 'riq_vr' of https://github.com/songchengjiang/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/vr/CCVRGeneric.cpp cocos/vr/CCVRGenericHeadTracker.h commit 91449c9d23e357549cb1aeae6d1454274def1aab Merge: d3e4550 a33faaf Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:54:44 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/platform/CCGLView.cpp commit a33faafa1a2b6cffdc32d87f3c1c321f46f94789 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sat May 14 00:57:54 2016 -0700 fix: adds head tracker commit ea348cf72d3e54dc3864571bff1405909dbb65c9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:40:32 2016 -0700 fix: removes red background commit 113c7debe9a35fc142183a9012cac40063e17efe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:39:31 2016 -0700 fix: centers image commit 769a883c93f4f7c6191462626845f01d6f8596fe Author: songchengjiang <moses_jc@sina.com> Date: Fri May 13 20:36:19 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr commit d3e45501cd2cada87735390a407fbd44e61cd84e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 17:52:46 2016 +0800 update win32 project for VR commit ba0fdb8b8e1efaf8fdf88e044e701fb5bedb4839 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 23:21:50 2016 -0700 fix: no hardcoded values code is simpler, fixed a few bugs commit b30596cdae4cdcf39d960a39661a79200b27c7a8 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 21:50:18 2016 -0700 fix: simplified distortion commit 37b184f084e7b50bac9a5a3c59a87f8f03440b53 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 09:39:34 2016 +0800 finished VR rendering of Oculus commit f7d74cd0a2479541c0546d0ec41fe4f867405fcc Author: songchengjiang <moses_jc@sina.com> Date: Thu May 12 10:00:43 2016 +0800 Finished GearVR and Deepoon VR rendering integration commit 776fb4fd7420f1c14403eb476df1e9716362f1e5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 11 16:56:57 2016 -0700 fix: distortion working... with too many hardcoded values time to "un-hardcode" the values commit 0584773cca88c5b3dee72821830841f617cfb21c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 19:49:07 2016 -0700 feat: distortion WIP commit 9b5ef01776eaa617dd4677c3824e50c1f9da41c6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 15:49:17 2016 -0700 fix: simpler one texture that holds both left and right eye commit bfff504c499c253a0c36b342e6b5bcb0edf4fed7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 9 10:50:43 2016 -0700 fix: Camera code is cleaner commit fcf730bc2afc6c4552787273577e1942088c2e42 Author: songchengjiang <moses_jc@sina.com> Date: Mon May 9 16:43:58 2016 +0800 support cardboard VR rendering commit f88b834b70fbfb28db0c8442e68984c61192d7cc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 21:16:10 2016 -0700 fix: proj fixes. works ok in any resolution commit f980a616837b0f259d9564e622c78e0f4869ed53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 19:08:47 2016 -0700 fix: renders ok in any device commit 4799ad32ea38ddd217e80e868c3d9021c03e88ce Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Apr 28 16:46:30 2016 -0700 fix: renders something fix: passing camera to scene adds a way to return user camera fix: stereo rendering works fix: viewport left is correct fix: scissor is not needed... fix: works! fix: minor fixes fix: new approach... almost working fix: camera is moved whitespace fixes fix: whitespaces fix: new line commit c137a53aba227cf2e2a1809b55cb9b3da25d432b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Apr 27 18:56:41 2016 -0700 fix: VR refactor... still WIP commit 16fde77d71b8309e982bf6fa4f4ee0acea5fc0d1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Apr 26 22:21:21 2016 -0700 feat: VR, initial commit
2016-06-16 02:33:25 +08:00
{
return _defaultViewport;
}
metal support for cocos2d-x (#19305) * remove deprecated files * remove some deprecated codes * remove more deprecated codes * remove ui deprecated codes * remove more deprecated codes * remove deprecated codes in ccmenuitem * remove more deprecated codes in ui * remove more deprecated codes in ui * remove more deprecated codes in ui * remove more deprecated codes * remove more deprecated codes * remove more deprecated codes * remove vr related codes and ignore some modules * remove allocator * remove some config * 【Feature】add back-end project file * [Feature] add back-end file * add pipeline descriptor and shader cache * [Feature] support sprite for backend * [Feature] remove unneeded code * [Feature] according to es2.0 spec, you must use clamp-to-edge as texture wrap mode, and no mipmapping for non-power-of-two texture * [Feature] set texture wrap mode to clamp-to-edge, and no mipmapping for non-power-of-two texture * [Feature] remove macro define to .cpp file * [Feature] add log info * [Feature] add PipelineDescriptor for TriangleCommand * [Feature] add PipelineDescriptor object as member of TriangleCommand * [Feature] add getPipelineDescriptor method * add renderbackend * complete pipeline descriptor * [Feature] add viewport in RenderCommand * set viewport when rendrering * [Feature] occur error when using RendererBackend, to be fixed. * a workaround to fix black screen on macOS 10.14 (#19090) * add rendererbackend init function * fix typo * [Feature] modify testFile * [BugFix] modify shader path * [Feature] set default viewport * fix projection * [Feature] modify log info * [BugFix] change viewport data type to int * [BugFix] add BindGroup to PipelienDescriptor * [BugFix] change a_position to vec3 in sprite.vert * [BugFix] set vertexLayout according to V3F_C4B_T2F structure * [Feature] revert a_position to vec4 * [Feature] renderer should not use gl codes directly * [Feature] it's better not use default value parameter * fix depth test setting * rendererbackend -> renderer * clear color and depth at begin * add metal backend * metal support normalized attribute * simplify codes * update external * add render pass desctriptor in pipeline descriptor * fix warnings * fix crash and memeory leak * refactor Texture2D * put pipeline descriptor into render command * simplify codes * [Feature] update Sprite * fix crash when closing app * [Feature] update SpriteBatchNode and TextureAtlas * support render texture(not finish) * [Feature] remove unused code * make tests work on mac * fix download-deps path error * make tests work on iOS * [Feature] support ttf under normal label effect * refactor triangle command processing * let renderer handle more common commands * refactor backend * make render texture work * [Feature] refactor backend for GL * [Feature]Renaming to make it easy to understand * [Feature] change warp mode to CLAMP_TO_EDGE * fix ghost * simplify visit render queue logic * support progress timer without rial mode * support partcile system * Feature/update label (#149) * [BugFix] fix compile error * [Feature] support outline effect in ios * [Feature] add shader file * [BugFix] fix begin and end RenderPass * [Feature] update CustomCommand * [Feature] revert project.pbxproj * [Feature] simplify codes * [BugFix] pack AI88 to RGBA8888 only when outline enable * [Feature] support shadow effect in Label * [Feature] support BMFont * [Feature] support glow effect * [Feature] simplify shader files * LabelAtlas work * handle blend function correctly * support tile map * don't share buffer in metal * alloc buffer size as needed * support more tilemap * Merge branch 'minggo/metal-support' into feature/updateLabel * minggo/metal-support: support tile map handle blend function correctly LabelAtlas work Feature/update label (#149) support partcile system # Conflicts: # cocos/2d/CCLabel.cpp # cocos/2d/CCSprite.cpp # cocos/2d/CCSpriteBatchNode.cpp # cocos/renderer/CCQuadCommand.cpp # cocos/renderer/CCQuadCommand.h * render texture work without saving file * use global viewport * grid3d works * remove grabber * tiled3d works * [BugFix] fix label bug * [Feature] add updateSubData for buffer * [Feature] remove setVertexCount * support depth test * add callback command * [Feature] add UITest * [Feature] update UITest * [Feature] remove unneeded codes * fix custom command issue * fix layer color blend issue * [BugFix] fix iOS compile error * [Feature] remove unneeded codes * [Feature] fix updateVertexBuffer * layerradial works * add draw test back * fix batch issue * fix compiling error * [BugFix] support ETC1 * [BugFix] get the correct pipelineDescriptor * [BugFix] skip draw when backendTexture nullptr * clipping node support * [Feature] add shader files * fix stencil issue in metal * [Feature] update UILayoutTest * [BugFix] skip drawing when vertexCount is zero * refactor renderer * add set global z order for stencil manager commands * fix warnings caused by type * remove viewport in render command * [Feature] fix warnings caused by type * [BugFix] clear vertexCount and indexCount for CustomComand when needed * [Feature] update clear for CustomCommand * ios use metal * fix viewport issue * fix LayerColorGradient crash * [cmake] transport to android and windows (#160) * save point 1 * compile on windows * run on android * revert useless change * android set CC_ENABLE_CACHE_TEXTURE_DATA to 1 * add initGlew * fix android crash * add TODO new-renderer * review update * revert onGLFWWindowPosCallback * fix android compiling error * Impl progress radial (#162) * progresstimer add radial impl * default drawType to element * dec invoke times of createVertexBuffer (#163) * support depth/stencil format for gl backend * simplify progress timer codes * support motionstreak, effect is wrong * fix motionstreak issue * [Feature] update Scissor Test (#161) * [Feature] update Scissor Test * [Feature] update ScissorTest * [Feature] rename function * [Feature] get constant reference if needed * [Feature] show render status (#164) * improve performance * fix depth state * fill error that triangle vertex/index number bigger than buffer * fix compiline error in release mode * fix buffer conflict between CPU and GPU on iOS/macOS * Renderer refactor (#165) * use one vertes/index buffer with opengl * fix error on windows * custom command support index format config * CCLayer: compact vertex data structure * update comment * fix doc * support fast tilemap * pass index format instead * fix some wrong effect * fix render texture error * fix texture per-element size * fix texture format error * BlendFunc type refactor, GLenum -> backend::BlendFactor (#167) * BlendFunc use backend::BlendFactor as inner field * update comments * use int to replace GLenum * update xcode project fiel * rename to GLBlendConst * add ccConstants.h * update xcode project file * update copyright * remove primitive command * remove CCPrimitive.cpp/.h * remove deprecated files * remove unneeded files * remove multiple view support * remove multiple view support * remove the usage of frame buffer in camera * director don't use frame buffer * remove FrameBuffer * remove BatchCommand * add some api reference * add physics2d back * fix crash when close app on mac * improve render texture * fix rendertexture issue * fix rendertexture issue * simplify codes * CMake support for mac & ios (#169) * update cmake * fix compile error * update 3rd libs version * remove CCThread.h/.cpp * remove ccthread * use audio engine to implement simple audio engine * remove unneeded codes * remove deprecated codes * remove winrt macro * remove CC_USE_WIC * set partcile blend function in more elegant way * remove unneeded codes * remove unneeded codes * cmake works on windows * update project setting * improve performance * GLFloat -> float * sync v3 cmake improvements into metal-support (#172) * pick: modern cmake, compile definitions improvement (#19139) * modern cmake, use target_compile_definitions partly * simplify macro define, remove USE_* * modern cmake, macro define * add physics 2d macro define into ccConfig.h * remove USE_CHIPMUNK macro in build.gradle * remove CocosSelectModule.cmake * shrink useless define * simplify compile options config, re-add if necessary * update external for tmp CI test * un-quote target_compile_options value * add "-g" parameter only when debug mode * keep single build type when generator Xcode & VS projecy * update external for tmp CI tes * add static_cast<char>(-1), fix -Wc++11-narrowing * simplify win32 compile define * not modify code, only improve compile options # Conflicts: # .gitignore # cmake/Modules/CocosConfigDepend.cmake # cocos/CMakeLists.txt # external/config.json # tests/cpp-tests/CMakeLists.txt * modern cmake, improve cmake_compiler_flags (#19145) * cmake_compiler_flags * Fix typo * Fix typo2 * Remove chanages from Android.mk * correct lua template cmake build (#19149) * don't add -Wno-deprecated into jsb target * correct lua template cmake build * fix win32 lua template compile error * prevent cmake in-source-build friendly (#19151) * pick: Copy resources to "Resources/" on win32 like in linux configuration * add "/Z7" for cpp-tests on windows * [cmake] fix iOS xcode property setting failed (#19208) * fix iOS xcode property setting failed * use search_depend_libs_recursive at dlls collect * fix typo * [cmake] add find_host_library into iOS toolchain file (#19230) * pick: [lua android] use luajit & template cmake update (#19239) * increase cmake stability , remove tests/CMakeLists.txt (#19261) * cmake win32 Precompiled header (#19273) * Precompiled header * Fix * Precompiled header for cocos * Precompiled header jscocos2d * Fix for COCOS2D_DEBUG is always 1 on Android (#19291) Related #19289 * little build fix, tests cpp-tests works on mac * sync v3 build related codes into metal-support (#173) * strict initialization for std::array * remove proj.win32 project configs * modern cmake, cmake_cleanup_remove_unused_variables (#19146) * Switch travis CI to xenial (#19207) * Switch travis CI to xenial * Remove language: android * Set language: cpp * Fix java problem * Update sdkmanager * Fix sdkmanger * next sdkmanager fix * Remove xenial from android * revert to sdk-tools-{system}-3859397 * Remove linux cmake install * Update before-install.sh * Update .travis.yml * Simplify install-deps-linux.sh, tested on Ubuntu 16.04 (#19212) * Simplify install-deps-linux.sh * Cleanup * pick: install ninja * update cocos2d-console submodule * for metal-support alpha release, we only test cpp * add HelloCpp into project(Cocos2d-x) for tmp test * update extenal metal-support-4 * update uniform setting * [Feature] update BindGroup * [Feature] empty-test * [Feature] cpp-test * [Feature] fix GL compiler error * [Feature] fix GL crash * [Feature] empty-test * [Feature] cpp-tests * [feature] improve frameRate * [feature] fix opengl compile error * [feature] fix opengl compile error * [BugFix] fix compute maxLocation error * [Feature] update setting unifrom * [Feature] fix namespace * [Feature] remove unneeded code * [Bugfix] fix project file * [Feature] update review * [texture2d] impl texture format support (#175) * texture update * update * update texture * commit * compile on windows * ddd * rename * rename methods * no crash * save gl * save * save * rename * move out pixel format convert functions * metal crash * update * update android * support gles compressed texture format * support more compress format * add more conversion methods * ss * save * update conversion methods * add PVRTC format support * reformat * add marco linux * fix GL marcro * pvrtc supported only by ios 8.0+ * remove unused cmake * revert change * refactor Texture2D::initWithData * fix conversion log * refactor Texture2D::initWithData * remove some OpenGL constants for PVRTC * add todo * fix typo * AutoTest works on mac/iOS by disable part cases, sync v3 bug fix (#174) * review cpp-tests, and fix part issues on start auto test * sync png format fix: Node:Particle3D abnormal texture effects #19204 * fix cpp-tests SpritePolygon crash, wrong png format (#19170) * fix wrong png convert format from sRGB to Gray * erase plist index if all frames was erased * test_A8.png have I8 format, fix it * [CCSpriteCache] allow re-add plist & add testcase (#19175) * allow re-add plist & add testcase * remove comments/rename method/update testcase * fix isSpriteFramesWithFileLoaded & add testcase * remove used variable * remove unused variable * fix double free issues when js/lua-tests exit on iOS (#19236) * disable part cases, AutoTest works without crash on mac * update cocos2dx files json, to test cocos new next * fix spritecache plist parsing issue (#19269) * [linux] Fix FileUtils::getContents with folder (#19157) * fix FileUtils::getContents on linux/mac * use stat.st_mode * simplify * [CCFileUtils] win32 getFileSize (#19176) * win32 getFileSize * fix stat * [cpp test-Android]20:FileUtils/2 change title (#19197) * sync #19200 * sync #19231 * [android lua] improve performance of lua loader (#19234) * [lua] improve performance of lua loader * remove cache fix * Revert "fix spritecache plist parsing issue (#19269)" This reverts commit f3a85ece4307a7b90816c34489d1ed2c8fd11baf. * remove win32 project files ref in template.json * add metal framework lnk ref into cpp template * test on iOS, and disable part cases * alBufferData instead of alBufferDataStatic for small audio file on Apple (#19227) * changes AudioCache to use alBufferData instead of alBufferDataStatic (also makes test 19 faster to trigger openal bugs faster) The original problem: CrashIfClientProvidedBogusAudioBufferList https://github.com/cocos2d/cocos2d-x/issues/18948 is not happening anymore, but there's still a not very frequent issue that makes OpenAL crash with a call stack like this. AudioCache::readDataTask > alBufferData > CleanUpDeadBufferList It happes more frequently when the device is "cold", which means after half an hour of not using the device (locked). I could not find the actual source code for iOS OpenAL, so I used the macOS versions: https://opensource.apple.com/source/OpenAL/OpenAL-48.7/Source/OpenAL/oalImp.cpp.auto.html They seem to use CAGuard.h to make sure the dead buffer list has no threading issues. I'm worried because the CAGuard code I found has macos and win32 define but no iOS, so I'm not sure. I guess the iOS version is different and has the guard. I could not find a place in the code that's unprotected by the locks except the InitializeBufferMap() which should not be called more than once from cocos, and there's a workaround in AudioEngine-impl for it. I reduced the occurence of the CleanUpDeadBufferList crash by moving the guard in ~AudioCache to cover the alDeleteBuffers call. * remove hack method "setTimeout" on audio * AutoTest works on iOS * support set ios deployment target for root project * enable all texture2d cases, since Jiang have fixed * add CCTextureUtils to xcode project file (#176) * add leak cases for SpriteFrameCache (#177) * re-add SpriteFrameCache cases * update template file json * Update SpriteFrameCacheTest.cpp * fix compiling error
2019-01-18 15:08:25 +08:00
void Camera::setDefaultViewport(const Viewport& vp)
Squashed commit of the following: VR support for cocos2d-x commit 087aff0aec24b81418fa2678ce0cae2d4c1e2e01 Merge: b32d329 fc44d0d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:26:33 2016 -0700 Merge branch 'v3' into vr commit b32d329f9331a4f9bbbbf946b88b31db7559934d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:25:27 2016 -0700 fix: dont' include oculus files commit 816928c6a8782984830aa92de5bed038c1306cdc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:57:26 2016 -0700 fix: missing guard in header commit 2abd4eb5a1fc961c2cbae9b00809b5e6409740db Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:43:49 2016 -0700 removed VR engines... should be part of package manager commit 583179755d1c66c02e898297230d0f882e629b98 Merge: 12f4f71 b6d6bb0 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:37 2016 -0700 Merge branch 'vr' of github.com:ricardoquesada/cocos2d-x into vr commit 12f4f71aca4fa15231976a7727faf40648d62313 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:12 2016 -0700 fix: new VR API... easier to enable/disable different VR renderers commit b6d6bb087f54cbd272fbfb9e1cf1cd6bba776ffa Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:48:04 2016 -0700 fix: compiles and runs on win10 commit e73aa8902118377abbd2192c757104c4531d2a9e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:27:06 2016 -0700 fix: vr works again commit 5615e276507edf8602f043f3130204a89dbaba69 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 18:55:18 2016 -0700 fix: compiles on windows commit 494061ee4da8fbc5616f83efb64b2c0c3932778e Merge: 284910b fd3b6d4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:13:47 2016 -0700 Merge branch 'v3' into vr commit 284910b204ee0dd76d949ea8f2b2f6b1b72e533f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:12:25 2016 -0700 android vr: better performance commit aa8328e8029143dd7c6c724f38915f0fb3b64abe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 16:10:14 2016 -0700 fix: low pass filter in accel and magnet commit f6d9b622abff5abb95ad60fa7139f3ce1ec9caab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 15:43:00 2016 -0700 fix: removes debugging info commit 2004f0ce5605dad70ff8656a058073181346f083 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 14:54:32 2016 -0700 fix: kind of works on android! yeah! commit d6dcb6a3410fda053f0d6fbc00af817a13a86d3b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 10 09:44:53 2016 -0700 logging commit 7e5d6ad52d39642c111e7b690173338af4e94092 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 22:53:07 2016 -0300 android head tracking compiles, doesn't work yet... how to debug java code? commit cbf5f6482aa0ae002a7dc40045ef3ffdbe192e26 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 19:45:41 2016 -0300 reading sensor from android not compiling yet commit 6ee0a3c2c43f8e8a603bfce9fddb0cce5ce79415 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 11:45:06 2016 -0300 compiles on android... finally commit fb728da756ca7ee94b316c113e2239a77d9f4b53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 18:15:12 2016 -0300 fix: compile vr android files only on android commit 90db6daef382d142bb60207d2b16936dd66ee245 Merge: 2e56f03 cc936af Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 12:15:56 2016 -0300 Merge pull request #11 from songchengjiang/riq_vr daydream VR platform supporting commit cc936afac44518a00b90ec3133aaac5d00f0b91f Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:38:27 2016 +0800 remove VR 3rdparty dependence commit 5f7a1a9c80f84cc915763ad6f52ffc524dd59309 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:34:37 2016 +0800 remove VR 3rdparty dependence commit 3f72ecde2a259357a137bec1e99e731a2e78df84 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:28:43 2016 +0800 remove VR 3rdparty dependence commit 2e56f032d1daced1b66b984acacc6f5007f5ecc3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 3 10:45:44 2016 -0300 fix: started android support commit 1910c9c488ee4315110081b60438aa1b7c1011f2 Author: songchengjiang <moses_jc@sina.com> Date: Thu Jun 2 15:58:34 2016 +0800 add CCVRGvrRenderer and CCVRGvrHeadTracker framework commit 96200eedea9234287153d71b4f198077cc49389a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 13:07:44 2016 -0300 fix: little fixes commit a2eb8114b2969beca83762ba829c8cb809b1615a Merge: 20a74e0 5fddebc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 12:12:59 2016 -0300 Merge pull request #10 from songchengjiang/riq_vr bugs fixed commit 5fddebcae997db9e1a4108413d73b0d057a61e83 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 15:57:30 2016 +0800 parameter corrected commit 925aad012ae513ebeeec682b003123a3c543759f Merge: 9b5e02f 20a74e0 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 15:46:13 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: cocos/2d/CCScene.cpp commit 9b5e02fa7c9fcdd15cfea99769560ed30b976e9e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 14:36:31 2016 +0800 fixed ProjectionMatrix error on oculus platform fixed ScrollView error on oculus platform commit 3c63ead1943d1cf8aa3c0fd722a4b3834db323b1 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 10:51:46 2016 +0800 bugs fixed mobile VR platforms: fixed ProjectionMatrix error fixed culling error of ScrollView commit 20a74e064708e6bf9d15cc5551d1f86af9d24010 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 20 09:22:45 2016 -0300 fix: setAdditionalTransform support reference commit 8341df82a02683b8e4ae02654e90617a2e5ced6d Merge: 83751de 469d38d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 18 07:38:49 2016 -0700 Merge pull request #8 from songchengjiang/riq_vr Finished VR integration of SKDs based on VRProtocol commit 469d38d778cd5f947098a08d8fd14ca6f32b0502 Author: songchengjiang <moses_jc@sina.com> Date: Wed May 18 15:32:32 2016 +0800 fix bug of deepoon's headtracking commit 83751deac133910c24321ddaddff93bf736de884 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 09:41:17 2016 -0700 fix: Scene inverts the eye matrix commit 41ae41969a71fd5b07396faac78e777c4afbe5c4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 06:54:34 2016 -0700 fix: inversed matrix for camera commit 049dee721356a47b19f5e51a0face6a5a1647095 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Tue May 17 15:51:57 2016 +0800 add headtracker of oculus commit 3f6478352a4baebc684105156389655edbac7e6f Author: songchengjiang <moses_jc@sina.com> Date: Tue May 17 14:22:56 2016 +0800 add headtracker of SKDs gearvr/deepoon/cardboard commit 59df985b72adf0dbb5a4c66c80ae7299b16ae909 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 22:12:23 2016 -0700 fix: head tracker works commit 306c59da0175708c96b5757f5f27afd6a6592fe3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 17:55:43 2016 -0700 fix: adds missing methods to `VRIHeadTracker` commit 91100b8a86d78801fbcd08e99427d6a6363ad69b Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 14:17:21 2016 +0800 Rename Oculus's files commit 01ef6215de936a8d8bb15f9ec195cb81b2b4b18f Author: songchengjiang <moses_jc@sina.com> Date: Mon May 16 11:41:56 2016 +0800 Rename files based on riq's changes commit 734efbb045064d24df095c5b8fc604ef2aab1dea Merge: 91449c9 769a883 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:57:57 2016 +0800 Merge branch 'riq_vr' of https://github.com/songchengjiang/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/vr/CCVRGeneric.cpp cocos/vr/CCVRGenericHeadTracker.h commit 91449c9d23e357549cb1aeae6d1454274def1aab Merge: d3e4550 a33faaf Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:54:44 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/platform/CCGLView.cpp commit a33faafa1a2b6cffdc32d87f3c1c321f46f94789 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sat May 14 00:57:54 2016 -0700 fix: adds head tracker commit ea348cf72d3e54dc3864571bff1405909dbb65c9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:40:32 2016 -0700 fix: removes red background commit 113c7debe9a35fc142183a9012cac40063e17efe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:39:31 2016 -0700 fix: centers image commit 769a883c93f4f7c6191462626845f01d6f8596fe Author: songchengjiang <moses_jc@sina.com> Date: Fri May 13 20:36:19 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr commit d3e45501cd2cada87735390a407fbd44e61cd84e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 17:52:46 2016 +0800 update win32 project for VR commit ba0fdb8b8e1efaf8fdf88e044e701fb5bedb4839 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 23:21:50 2016 -0700 fix: no hardcoded values code is simpler, fixed a few bugs commit b30596cdae4cdcf39d960a39661a79200b27c7a8 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 21:50:18 2016 -0700 fix: simplified distortion commit 37b184f084e7b50bac9a5a3c59a87f8f03440b53 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 09:39:34 2016 +0800 finished VR rendering of Oculus commit f7d74cd0a2479541c0546d0ec41fe4f867405fcc Author: songchengjiang <moses_jc@sina.com> Date: Thu May 12 10:00:43 2016 +0800 Finished GearVR and Deepoon VR rendering integration commit 776fb4fd7420f1c14403eb476df1e9716362f1e5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 11 16:56:57 2016 -0700 fix: distortion working... with too many hardcoded values time to "un-hardcode" the values commit 0584773cca88c5b3dee72821830841f617cfb21c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 19:49:07 2016 -0700 feat: distortion WIP commit 9b5ef01776eaa617dd4677c3824e50c1f9da41c6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 15:49:17 2016 -0700 fix: simpler one texture that holds both left and right eye commit bfff504c499c253a0c36b342e6b5bcb0edf4fed7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 9 10:50:43 2016 -0700 fix: Camera code is cleaner commit fcf730bc2afc6c4552787273577e1942088c2e42 Author: songchengjiang <moses_jc@sina.com> Date: Mon May 9 16:43:58 2016 +0800 support cardboard VR rendering commit f88b834b70fbfb28db0c8442e68984c61192d7cc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 21:16:10 2016 -0700 fix: proj fixes. works ok in any resolution commit f980a616837b0f259d9564e622c78e0f4869ed53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 19:08:47 2016 -0700 fix: renders ok in any device commit 4799ad32ea38ddd217e80e868c3d9021c03e88ce Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Apr 28 16:46:30 2016 -0700 fix: renders something fix: passing camera to scene adds a way to return user camera fix: stereo rendering works fix: viewport left is correct fix: scissor is not needed... fix: works! fix: minor fixes fix: new approach... almost working fix: camera is moved whitespace fixes fix: whitespaces fix: new line commit c137a53aba227cf2e2a1809b55cb9b3da25d432b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Apr 27 18:56:41 2016 -0700 fix: VR refactor... still WIP commit 16fde77d71b8309e982bf6fa4f4ee0acea5fc0d1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Apr 26 22:21:21 2016 -0700 feat: VR, initial commit
2016-06-16 02:33:25 +08:00
{
_defaultViewport = vp;
}
const Camera* Camera::getVisitingCamera()
{
return _visitingCamera;
}
// end static methods
2014-08-07 15:23:31 +08:00
Camera::Camera()
2022-06-14 02:04:24 +08:00
: _eyeZdistance(1)
, _zoomFactor(1)
, _nearPlane(-1024)
, _farPlane(1024)
, _zoomFactorNearPlane(10)
2022-06-14 02:04:24 +08:00
, _zoomFactorFarPlane(1024)
, _isCameraInitialized(false)
2014-08-07 15:23:31 +08:00
{
metal support for cocos2d-x (#19305) * remove deprecated files * remove some deprecated codes * remove more deprecated codes * remove ui deprecated codes * remove more deprecated codes * remove deprecated codes in ccmenuitem * remove more deprecated codes in ui * remove more deprecated codes in ui * remove more deprecated codes in ui * remove more deprecated codes * remove more deprecated codes * remove more deprecated codes * remove vr related codes and ignore some modules * remove allocator * remove some config * 【Feature】add back-end project file * [Feature] add back-end file * add pipeline descriptor and shader cache * [Feature] support sprite for backend * [Feature] remove unneeded code * [Feature] according to es2.0 spec, you must use clamp-to-edge as texture wrap mode, and no mipmapping for non-power-of-two texture * [Feature] set texture wrap mode to clamp-to-edge, and no mipmapping for non-power-of-two texture * [Feature] remove macro define to .cpp file * [Feature] add log info * [Feature] add PipelineDescriptor for TriangleCommand * [Feature] add PipelineDescriptor object as member of TriangleCommand * [Feature] add getPipelineDescriptor method * add renderbackend * complete pipeline descriptor * [Feature] add viewport in RenderCommand * set viewport when rendrering * [Feature] occur error when using RendererBackend, to be fixed. * a workaround to fix black screen on macOS 10.14 (#19090) * add rendererbackend init function * fix typo * [Feature] modify testFile * [BugFix] modify shader path * [Feature] set default viewport * fix projection * [Feature] modify log info * [BugFix] change viewport data type to int * [BugFix] add BindGroup to PipelienDescriptor * [BugFix] change a_position to vec3 in sprite.vert * [BugFix] set vertexLayout according to V3F_C4B_T2F structure * [Feature] revert a_position to vec4 * [Feature] renderer should not use gl codes directly * [Feature] it's better not use default value parameter * fix depth test setting * rendererbackend -> renderer * clear color and depth at begin * add metal backend * metal support normalized attribute * simplify codes * update external * add render pass desctriptor in pipeline descriptor * fix warnings * fix crash and memeory leak * refactor Texture2D * put pipeline descriptor into render command * simplify codes * [Feature] update Sprite * fix crash when closing app * [Feature] update SpriteBatchNode and TextureAtlas * support render texture(not finish) * [Feature] remove unused code * make tests work on mac * fix download-deps path error * make tests work on iOS * [Feature] support ttf under normal label effect * refactor triangle command processing * let renderer handle more common commands * refactor backend * make render texture work * [Feature] refactor backend for GL * [Feature]Renaming to make it easy to understand * [Feature] change warp mode to CLAMP_TO_EDGE * fix ghost * simplify visit render queue logic * support progress timer without rial mode * support partcile system * Feature/update label (#149) * [BugFix] fix compile error * [Feature] support outline effect in ios * [Feature] add shader file * [BugFix] fix begin and end RenderPass * [Feature] update CustomCommand * [Feature] revert project.pbxproj * [Feature] simplify codes * [BugFix] pack AI88 to RGBA8888 only when outline enable * [Feature] support shadow effect in Label * [Feature] support BMFont * [Feature] support glow effect * [Feature] simplify shader files * LabelAtlas work * handle blend function correctly * support tile map * don't share buffer in metal * alloc buffer size as needed * support more tilemap * Merge branch 'minggo/metal-support' into feature/updateLabel * minggo/metal-support: support tile map handle blend function correctly LabelAtlas work Feature/update label (#149) support partcile system # Conflicts: # cocos/2d/CCLabel.cpp # cocos/2d/CCSprite.cpp # cocos/2d/CCSpriteBatchNode.cpp # cocos/renderer/CCQuadCommand.cpp # cocos/renderer/CCQuadCommand.h * render texture work without saving file * use global viewport * grid3d works * remove grabber * tiled3d works * [BugFix] fix label bug * [Feature] add updateSubData for buffer * [Feature] remove setVertexCount * support depth test * add callback command * [Feature] add UITest * [Feature] update UITest * [Feature] remove unneeded codes * fix custom command issue * fix layer color blend issue * [BugFix] fix iOS compile error * [Feature] remove unneeded codes * [Feature] fix updateVertexBuffer * layerradial works * add draw test back * fix batch issue * fix compiling error * [BugFix] support ETC1 * [BugFix] get the correct pipelineDescriptor * [BugFix] skip draw when backendTexture nullptr * clipping node support * [Feature] add shader files * fix stencil issue in metal * [Feature] update UILayoutTest * [BugFix] skip drawing when vertexCount is zero * refactor renderer * add set global z order for stencil manager commands * fix warnings caused by type * remove viewport in render command * [Feature] fix warnings caused by type * [BugFix] clear vertexCount and indexCount for CustomComand when needed * [Feature] update clear for CustomCommand * ios use metal * fix viewport issue * fix LayerColorGradient crash * [cmake] transport to android and windows (#160) * save point 1 * compile on windows * run on android * revert useless change * android set CC_ENABLE_CACHE_TEXTURE_DATA to 1 * add initGlew * fix android crash * add TODO new-renderer * review update * revert onGLFWWindowPosCallback * fix android compiling error * Impl progress radial (#162) * progresstimer add radial impl * default drawType to element * dec invoke times of createVertexBuffer (#163) * support depth/stencil format for gl backend * simplify progress timer codes * support motionstreak, effect is wrong * fix motionstreak issue * [Feature] update Scissor Test (#161) * [Feature] update Scissor Test * [Feature] update ScissorTest * [Feature] rename function * [Feature] get constant reference if needed * [Feature] show render status (#164) * improve performance * fix depth state * fill error that triangle vertex/index number bigger than buffer * fix compiline error in release mode * fix buffer conflict between CPU and GPU on iOS/macOS * Renderer refactor (#165) * use one vertes/index buffer with opengl * fix error on windows * custom command support index format config * CCLayer: compact vertex data structure * update comment * fix doc * support fast tilemap * pass index format instead * fix some wrong effect * fix render texture error * fix texture per-element size * fix texture format error * BlendFunc type refactor, GLenum -> backend::BlendFactor (#167) * BlendFunc use backend::BlendFactor as inner field * update comments * use int to replace GLenum * update xcode project fiel * rename to GLBlendConst * add ccConstants.h * update xcode project file * update copyright * remove primitive command * remove CCPrimitive.cpp/.h * remove deprecated files * remove unneeded files * remove multiple view support * remove multiple view support * remove the usage of frame buffer in camera * director don't use frame buffer * remove FrameBuffer * remove BatchCommand * add some api reference * add physics2d back * fix crash when close app on mac * improve render texture * fix rendertexture issue * fix rendertexture issue * simplify codes * CMake support for mac & ios (#169) * update cmake * fix compile error * update 3rd libs version * remove CCThread.h/.cpp * remove ccthread * use audio engine to implement simple audio engine * remove unneeded codes * remove deprecated codes * remove winrt macro * remove CC_USE_WIC * set partcile blend function in more elegant way * remove unneeded codes * remove unneeded codes * cmake works on windows * update project setting * improve performance * GLFloat -> float * sync v3 cmake improvements into metal-support (#172) * pick: modern cmake, compile definitions improvement (#19139) * modern cmake, use target_compile_definitions partly * simplify macro define, remove USE_* * modern cmake, macro define * add physics 2d macro define into ccConfig.h * remove USE_CHIPMUNK macro in build.gradle * remove CocosSelectModule.cmake * shrink useless define * simplify compile options config, re-add if necessary * update external for tmp CI test * un-quote target_compile_options value * add "-g" parameter only when debug mode * keep single build type when generator Xcode & VS projecy * update external for tmp CI tes * add static_cast<char>(-1), fix -Wc++11-narrowing * simplify win32 compile define * not modify code, only improve compile options # Conflicts: # .gitignore # cmake/Modules/CocosConfigDepend.cmake # cocos/CMakeLists.txt # external/config.json # tests/cpp-tests/CMakeLists.txt * modern cmake, improve cmake_compiler_flags (#19145) * cmake_compiler_flags * Fix typo * Fix typo2 * Remove chanages from Android.mk * correct lua template cmake build (#19149) * don't add -Wno-deprecated into jsb target * correct lua template cmake build * fix win32 lua template compile error * prevent cmake in-source-build friendly (#19151) * pick: Copy resources to "Resources/" on win32 like in linux configuration * add "/Z7" for cpp-tests on windows * [cmake] fix iOS xcode property setting failed (#19208) * fix iOS xcode property setting failed * use search_depend_libs_recursive at dlls collect * fix typo * [cmake] add find_host_library into iOS toolchain file (#19230) * pick: [lua android] use luajit & template cmake update (#19239) * increase cmake stability , remove tests/CMakeLists.txt (#19261) * cmake win32 Precompiled header (#19273) * Precompiled header * Fix * Precompiled header for cocos * Precompiled header jscocos2d * Fix for COCOS2D_DEBUG is always 1 on Android (#19291) Related #19289 * little build fix, tests cpp-tests works on mac * sync v3 build related codes into metal-support (#173) * strict initialization for std::array * remove proj.win32 project configs * modern cmake, cmake_cleanup_remove_unused_variables (#19146) * Switch travis CI to xenial (#19207) * Switch travis CI to xenial * Remove language: android * Set language: cpp * Fix java problem * Update sdkmanager * Fix sdkmanger * next sdkmanager fix * Remove xenial from android * revert to sdk-tools-{system}-3859397 * Remove linux cmake install * Update before-install.sh * Update .travis.yml * Simplify install-deps-linux.sh, tested on Ubuntu 16.04 (#19212) * Simplify install-deps-linux.sh * Cleanup * pick: install ninja * update cocos2d-console submodule * for metal-support alpha release, we only test cpp * add HelloCpp into project(Cocos2d-x) for tmp test * update extenal metal-support-4 * update uniform setting * [Feature] update BindGroup * [Feature] empty-test * [Feature] cpp-test * [Feature] fix GL compiler error * [Feature] fix GL crash * [Feature] empty-test * [Feature] cpp-tests * [feature] improve frameRate * [feature] fix opengl compile error * [feature] fix opengl compile error * [BugFix] fix compute maxLocation error * [Feature] update setting unifrom * [Feature] fix namespace * [Feature] remove unneeded code * [Bugfix] fix project file * [Feature] update review * [texture2d] impl texture format support (#175) * texture update * update * update texture * commit * compile on windows * ddd * rename * rename methods * no crash * save gl * save * save * rename * move out pixel format convert functions * metal crash * update * update android * support gles compressed texture format * support more compress format * add more conversion methods * ss * save * update conversion methods * add PVRTC format support * reformat * add marco linux * fix GL marcro * pvrtc supported only by ios 8.0+ * remove unused cmake * revert change * refactor Texture2D::initWithData * fix conversion log * refactor Texture2D::initWithData * remove some OpenGL constants for PVRTC * add todo * fix typo * AutoTest works on mac/iOS by disable part cases, sync v3 bug fix (#174) * review cpp-tests, and fix part issues on start auto test * sync png format fix: Node:Particle3D abnormal texture effects #19204 * fix cpp-tests SpritePolygon crash, wrong png format (#19170) * fix wrong png convert format from sRGB to Gray * erase plist index if all frames was erased * test_A8.png have I8 format, fix it * [CCSpriteCache] allow re-add plist & add testcase (#19175) * allow re-add plist & add testcase * remove comments/rename method/update testcase * fix isSpriteFramesWithFileLoaded & add testcase * remove used variable * remove unused variable * fix double free issues when js/lua-tests exit on iOS (#19236) * disable part cases, AutoTest works without crash on mac * update cocos2dx files json, to test cocos new next * fix spritecache plist parsing issue (#19269) * [linux] Fix FileUtils::getContents with folder (#19157) * fix FileUtils::getContents on linux/mac * use stat.st_mode * simplify * [CCFileUtils] win32 getFileSize (#19176) * win32 getFileSize * fix stat * [cpp test-Android]20:FileUtils/2 change title (#19197) * sync #19200 * sync #19231 * [android lua] improve performance of lua loader (#19234) * [lua] improve performance of lua loader * remove cache fix * Revert "fix spritecache plist parsing issue (#19269)" This reverts commit f3a85ece4307a7b90816c34489d1ed2c8fd11baf. * remove win32 project files ref in template.json * add metal framework lnk ref into cpp template * test on iOS, and disable part cases * alBufferData instead of alBufferDataStatic for small audio file on Apple (#19227) * changes AudioCache to use alBufferData instead of alBufferDataStatic (also makes test 19 faster to trigger openal bugs faster) The original problem: CrashIfClientProvidedBogusAudioBufferList https://github.com/cocos2d/cocos2d-x/issues/18948 is not happening anymore, but there's still a not very frequent issue that makes OpenAL crash with a call stack like this. AudioCache::readDataTask > alBufferData > CleanUpDeadBufferList It happes more frequently when the device is "cold", which means after half an hour of not using the device (locked). I could not find the actual source code for iOS OpenAL, so I used the macOS versions: https://opensource.apple.com/source/OpenAL/OpenAL-48.7/Source/OpenAL/oalImp.cpp.auto.html They seem to use CAGuard.h to make sure the dead buffer list has no threading issues. I'm worried because the CAGuard code I found has macos and win32 define but no iOS, so I'm not sure. I guess the iOS version is different and has the guard. I could not find a place in the code that's unprotected by the locks except the InitializeBufferMap() which should not be called more than once from cocos, and there's a workaround in AudioEngine-impl for it. I reduced the occurence of the CleanUpDeadBufferList crash by moving the guard in ~AudioCache to cover the alDeleteBuffers call. * remove hack method "setTimeout" on audio * AutoTest works on iOS * support set ios deployment target for root project * enable all texture2d cases, since Jiang have fixed * add CCTextureUtils to xcode project file (#176) * add leak cases for SpriteFrameCache (#177) * re-add SpriteFrameCache cases * update template file json * Update SpriteFrameCacheTest.cpp * fix compiling error
2019-01-18 15:08:25 +08:00
// minggo comment
// _frustum.setClipZ(true);
2014-08-07 15:23:31 +08:00
}
Camera::~Camera()
{
2022-07-15 19:17:01 +08:00
AX_SAFE_RELEASE(_clearBrush);
2014-08-07 15:23:31 +08:00
}
const Mat4& Camera::getProjectionMatrix() const
{
return _projection;
}
2014-08-07 15:57:15 +08:00
const Mat4& Camera::getViewMatrix() const
2014-08-07 15:23:31 +08:00
{
Mat4 viewInv(getNodeToWorldTransform());
static int count = sizeof(float) * 16;
if (memcmp(viewInv.m, _viewInv.m, count) != 0)
{
_viewProjectionDirty = true;
2021-12-25 10:04:45 +08:00
_frustumDirty = true;
_viewInv = viewInv;
_view = viewInv.getInversed();
2014-08-07 15:23:31 +08:00
}
return _view;
}
void Camera::lookAt(const Vec3& lookAtPos, const Vec3& up)
{
Vec3 upv = up;
upv.normalize();
Vec3 zaxis;
Vec3::subtract(this->getPosition3D(), lookAtPos, &zaxis);
zaxis.normalize();
2021-12-25 10:04:45 +08:00
2014-08-07 15:23:31 +08:00
Vec3 xaxis;
Vec3::cross(upv, zaxis, &xaxis);
xaxis.normalize();
2021-12-25 10:04:45 +08:00
2014-08-07 15:23:31 +08:00
Vec3 yaxis;
Vec3::cross(zaxis, xaxis, &yaxis);
yaxis.normalize();
2021-12-25 10:04:45 +08:00
Mat4 rotation;
2022-06-14 02:04:24 +08:00
2014-08-07 15:23:31 +08:00
rotation.m[0] = xaxis.x;
rotation.m[1] = xaxis.y;
rotation.m[2] = xaxis.z;
rotation.m[3] = 0;
2021-12-25 10:04:45 +08:00
rotation.m[4] = yaxis.x;
rotation.m[5] = yaxis.y;
rotation.m[6] = yaxis.z;
rotation.m[7] = 0;
2022-06-14 02:04:24 +08:00
2021-12-25 10:04:45 +08:00
rotation.m[8] = zaxis.x;
rotation.m[9] = zaxis.y;
2014-08-07 15:23:31 +08:00
rotation.m[10] = zaxis.z;
rotation.m[11] = 0;
2021-12-25 10:04:45 +08:00
Quaternion quaternion;
Quaternion::createFromRotationMatrix(rotation, &quaternion);
2015-06-19 18:46:14 +08:00
quaternion.normalize();
setRotationQuat(quaternion);
2014-08-07 15:23:31 +08:00
}
2014-08-07 15:57:15 +08:00
const Mat4& Camera::getViewProjectionMatrix() const
2014-08-07 15:23:31 +08:00
{
getViewMatrix();
if (_viewProjectionDirty)
{
_viewProjectionDirty = false;
Mat4::multiply(_projection, _view, &_viewProjection);
}
2021-12-25 10:04:45 +08:00
2014-08-07 15:23:31 +08:00
return _viewProjection;
}
void Camera::setAdditionalProjection(const Mat4& mat)
{
_projection = mat * _projection;
getViewProjectionMatrix();
}
bool Camera::initDefault()
{
if (_projectionType != _director->getProjection())
{
_projectionType = _director->getProjection();
_isCameraInitialized = false;
}
if (_isCameraInitialized)
{
applyCustomProperties();
return true;
}
_isCameraInitialized = true;
2022-06-14 02:04:24 +08:00
2022-06-14 02:33:23 +08:00
auto& size = _director->getWinSize();
2021-12-25 10:04:45 +08:00
// create default camera
2022-06-14 02:33:23 +08:00
switch (_projectionType)
{
2021-12-25 10:04:45 +08:00
case Director::Projection::_2D:
{
initOrthographic(size.width, size.height, -1024, 1024);
setPosition3D(Vec3(size.width / 2.0F, size.height / 2.0F, 0.f));
2021-12-25 10:04:45 +08:00
setRotation3D(Vec3(0.f, 0.f, 0.f));
break;
}
case Director::Projection::_3D:
{
float zeye = _director->getZEye();
initPerspective(60, (float)size.width / size.height, 10, zeye + size.height / 2.0f);
Vec3 eye(size.width / 2.0f, size.height / 2.0f, zeye), center(size.width / 2.0f, size.height / 2.0f, 0.0f),
2021-12-25 10:04:45 +08:00
up(0.0f, 1.0f, 0.0f);
2022-06-14 02:04:24 +08:00
_eyeZdistance = eye.z;
2021-12-25 10:04:45 +08:00
setPosition3D(eye);
lookAt(center, up);
break;
}
default:
2022-07-16 10:43:05 +08:00
AXLOG("unrecognized projection");
2021-12-25 10:04:45 +08:00
break;
}
2022-06-14 02:04:24 +08:00
if (_zoomFactor != 1.0F)
applyZoom();
return true;
}
bool Camera::initPerspective(float fieldOfView, float aspectRatio, float nearPlane, float farPlane)
{
2022-06-14 02:04:24 +08:00
_fieldOfView = fieldOfView;
_aspectRatio = aspectRatio;
_nearPlane = nearPlane;
_farPlane = farPlane;
2022-06-14 02:04:24 +08:00
if (_zoomFactorFarPlane == 1024)
_zoomFactorFarPlane = farPlane;
if (_zoomFactorNearPlane == 10)
2022-06-14 07:11:40 +08:00
_zoomFactorNearPlane = nearPlane;
Mat4::createPerspective(_fieldOfView, _aspectRatio, _nearPlane, _farPlane, &_projection);
_viewProjectionDirty = true;
2021-12-25 10:04:45 +08:00
_frustumDirty = true;
_type = Type::PERSPECTIVE;
return true;
}
bool Camera::initOrthographic(float zoomX, float zoomY, float nearPlane, float farPlane)
{
2021-12-25 10:04:45 +08:00
_zoom[0] = zoomX;
_zoom[1] = zoomY;
_nearPlane = nearPlane;
2021-12-25 10:04:45 +08:00
_farPlane = farPlane;
Mat4::createOrthographic(_zoom[0] * _zoomFactor, _zoom[1] * _zoomFactor, _nearPlane, _farPlane, &_projection);
_viewProjectionDirty = true;
2021-12-25 10:04:45 +08:00
_frustumDirty = true;
_type = Type::ORTHOGRAPHIC;
return true;
}
2015-02-27 10:01:57 +08:00
Vec2 Camera::project(const Vec3& src) const
2014-08-07 15:23:31 +08:00
{
2015-02-26 15:20:20 +08:00
Vec2 screenPos;
2021-12-25 10:04:45 +08:00
2021-02-05 23:09:14 +08:00
auto viewport = _director->getWinSize();
2015-02-26 15:20:20 +08:00
Vec4 clipPos;
2015-02-27 10:01:57 +08:00
getViewProjectionMatrix().transformVector(Vec4(src.x, src.y, src.z, 1.0f), &clipPos);
2021-12-25 10:04:45 +08:00
2022-07-16 10:43:05 +08:00
AXASSERT(clipPos.w != 0.0f, "clipPos.w can't be 0.0f!");
2015-02-26 15:20:20 +08:00
float ndcX = clipPos.x / clipPos.w;
float ndcY = clipPos.y / clipPos.w;
2021-12-25 10:04:45 +08:00
2015-02-26 15:20:20 +08:00
screenPos.x = (ndcX + 1.0f) * 0.5f * viewport.width;
screenPos.y = (1.0f - (ndcY + 1.0f) * 0.5f) * viewport.height;
return screenPos;
}
Vec2 Camera::projectGL(const Vec3& src) const
2015-02-26 15:20:20 +08:00
{
Vec2 screenPos;
2021-12-25 10:04:45 +08:00
2021-02-05 23:09:14 +08:00
auto viewport = _director->getWinSize();
Vec4 clipPos;
getViewProjectionMatrix().transformVector(Vec4(src.x, src.y, src.z, 1.0f), &clipPos);
2021-12-25 10:04:45 +08:00
2022-06-17 22:16:39 +08:00
if (clipPos.w == 0.0f)
2022-07-16 10:43:05 +08:00
AXLOG("WARNING: Camera's clip position w is 0.0! a black screen should be expected.");
2022-06-17 22:16:39 +08:00
float ndcX = clipPos.x / clipPos.w;
float ndcY = clipPos.y / clipPos.w;
2021-12-25 10:04:45 +08:00
screenPos.x = (ndcX + 1.0f) * 0.5f * viewport.width;
screenPos.y = (ndcY + 1.0f) * 0.5f * viewport.height;
return screenPos;
}
2015-02-26 15:33:18 +08:00
Vec3 Camera::unproject(const Vec3& src) const
{
Vec3 dst;
2021-02-05 23:09:14 +08:00
unproject(_director->getWinSize(), &src, &dst);
return dst;
}
2015-02-26 15:33:18 +08:00
Vec3 Camera::unprojectGL(const Vec3& src) const
{
Vec3 dst;
2021-02-05 23:09:14 +08:00
unprojectGL(_director->getWinSize(), &src, &dst);
return dst;
}
2021-10-23 23:27:14 +08:00
void Camera::unproject(const Vec2& viewport, const Vec3* src, Vec3* dst) const
{
2022-07-16 10:43:05 +08:00
AXASSERT(src && dst, "vec3 can not be null");
2021-12-25 10:04:45 +08:00
Vec4 screen(src->x / viewport.width, ((viewport.height - src->y)) / viewport.height, src->z, 1.0f);
2014-08-07 15:23:31 +08:00
screen.x = screen.x * 2.0f - 1.0f;
screen.y = screen.y * 2.0f - 1.0f;
screen.z = screen.z * 2.0f - 1.0f;
2021-12-25 10:04:45 +08:00
2014-08-07 15:23:31 +08:00
getViewProjectionMatrix().getInversed().transformVector(screen, &screen);
if (screen.w != 0.0f)
{
screen.x /= screen.w;
screen.y /= screen.w;
screen.z /= screen.w;
}
2021-12-25 10:04:45 +08:00
dst->set(screen.x, screen.y, screen.z);
2015-02-26 15:20:20 +08:00
}
2021-10-23 23:27:14 +08:00
void Camera::unprojectGL(const Vec2& viewport, const Vec3* src, Vec3* dst) const
2015-02-26 15:20:20 +08:00
{
2022-07-16 10:43:05 +08:00
AXASSERT(src && dst, "vec3 can not be null");
2021-12-25 10:04:45 +08:00
Vec4 screen(src->x / viewport.width, src->y / viewport.height, src->z, 1.0f);
screen.x = screen.x * 2.0f - 1.0f;
screen.y = screen.y * 2.0f - 1.0f;
screen.z = screen.z * 2.0f - 1.0f;
2021-12-25 10:04:45 +08:00
getViewProjectionMatrix().getInversed().transformVector(screen, &screen);
if (screen.w != 0.0f)
{
screen.x /= screen.w;
screen.y /= screen.w;
screen.z /= screen.w;
}
2021-12-25 10:04:45 +08:00
dst->set(screen.x, screen.y, screen.z);
2014-08-07 15:23:31 +08:00
}
2021-12-25 10:04:45 +08:00
bool Camera::isVisibleInFrustum(const AABB* aabb) const
{
if (_frustumDirty)
{
_frustum.initFrustum(this);
_frustumDirty = false;
}
return !_frustum.isOutOfFrustum(*aabb);
}
2014-12-16 16:34:35 +08:00
float Camera::getDepthInView(const Mat4& transform) const
{
2021-12-25 10:04:45 +08:00
Mat4 camWorldMat = getNodeToWorldTransform();
const Mat4& viewMat = camWorldMat.getInversed();
float depth = -(viewMat.m[2] * transform.m[12] + viewMat.m[6] * transform.m[13] + viewMat.m[10] * transform.m[14] +
viewMat.m[14]);
return depth;
}
void Camera::setDepth(int8_t depth)
2015-02-11 18:14:22 +08:00
{
if (_depth != depth)
{
_depth = depth;
if (_scene)
{
2021-12-25 10:04:45 +08:00
// notify scene that the camera order is dirty
2015-02-11 18:14:22 +08:00
_scene->setCameraOrderDirty();
}
}
}
2022-06-14 02:04:24 +08:00
void Camera::setZoom(float factor)
{
_zoomFactor = factor;
applyZoom();
}
void Camera::applyZoom()
{
switch (_projectionType)
{
case axis::Director::Projection::_2D:
2022-06-14 02:04:24 +08:00
{
Mat4::createOrthographic(_zoom[0] * _zoomFactor, _zoom[1] * _zoomFactor, _nearPlane, _farPlane, &_projection);
2022-06-14 02:04:24 +08:00
break;
}
case axis::Director::Projection::_3D:
2022-06-14 02:04:24 +08:00
{
// Push the far plane farther the more we zoom out.
if (_zoomFactorFarPlane * _zoomFactor > _farPlane)
{
_farPlane = _zoomFactorFarPlane * _zoomFactor;
applyCustomProperties();
}
// Push the near plane closer the more we zoom in.
if (_zoomFactorNearPlane * _zoomFactor < _nearPlane)
{
_nearPlane = _zoomFactorNearPlane * _zoomFactor;
applyCustomProperties();
}
2022-06-14 02:04:24 +08:00
this->setPositionZ(_eyeZdistance * _zoomFactor);
break;
}
}
}
void Camera::applyCustomProperties()
{
if (_projectionType != _director->getProjection())
{
_projectionType = _director->getProjection();
_isCameraInitialized = false;
initDefault();
return;
}
2022-06-14 02:04:24 +08:00
auto& size = _director->getWinSize();
switch (_projectionType)
{
case Director::Projection::_2D:
{
initOrthographic(size.width, size.height, _nearPlane, _farPlane);
2022-06-14 02:04:24 +08:00
break;
}
case Director::Projection::_3D:
{
initPerspective(_fieldOfView, _aspectRatio, _nearPlane, _farPlane);
_eyeZdistance = _director->getZEye();
2022-06-14 02:04:24 +08:00
break;
}
}
if (_zoomFactor != 1.0F)
applyZoom();
}
2014-08-07 15:23:31 +08:00
void Camera::onEnter()
{
if (_scene == nullptr)
{
2014-08-08 11:49:59 +08:00
auto scene = getScene();
if (scene)
2015-02-11 18:14:22 +08:00
{
2014-08-08 11:49:59 +08:00
setScene(scene);
2015-02-11 18:14:22 +08:00
}
2014-08-07 15:23:31 +08:00
}
Node::onEnter();
}
void Camera::onExit()
{
// remove this camera from scene
setScene(nullptr);
Node::onExit();
}
void Camera::setScene(Scene* scene)
{
if (_scene != scene)
{
2021-12-25 10:04:45 +08:00
// remove old scene
2014-08-07 15:23:31 +08:00
if (_scene)
{
auto& cameras = _scene->_cameras;
2021-12-25 10:04:45 +08:00
auto it = std::find(cameras.begin(), cameras.end(), this);
2014-08-07 15:23:31 +08:00
if (it != cameras.end())
cameras.erase(it);
_scene = nullptr;
}
2021-12-25 10:04:45 +08:00
// set new scene
2014-08-07 15:23:31 +08:00
if (scene)
{
2021-12-25 10:04:45 +08:00
_scene = scene;
2014-08-07 15:23:31 +08:00
auto& cameras = _scene->_cameras;
2021-12-25 10:04:45 +08:00
auto it = std::find(cameras.begin(), cameras.end(), this);
2014-08-07 15:23:31 +08:00
if (it == cameras.end())
2015-02-11 18:14:22 +08:00
{
_scene->_cameras.emplace_back(this);
2021-12-25 10:04:45 +08:00
// notify scene that the camera order is dirty
2015-02-11 18:14:22 +08:00
_scene->setCameraOrderDirty();
}
2014-08-07 15:23:31 +08:00
}
}
}
void Camera::clearBackground()
{
if (_clearBrush)
{
2015-08-21 10:27:19 +08:00
_clearBrush->drawBackground(this);
}
}
Squashed commit of the following: VR support for cocos2d-x commit 087aff0aec24b81418fa2678ce0cae2d4c1e2e01 Merge: b32d329 fc44d0d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:26:33 2016 -0700 Merge branch 'v3' into vr commit b32d329f9331a4f9bbbbf946b88b31db7559934d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:25:27 2016 -0700 fix: dont' include oculus files commit 816928c6a8782984830aa92de5bed038c1306cdc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:57:26 2016 -0700 fix: missing guard in header commit 2abd4eb5a1fc961c2cbae9b00809b5e6409740db Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:43:49 2016 -0700 removed VR engines... should be part of package manager commit 583179755d1c66c02e898297230d0f882e629b98 Merge: 12f4f71 b6d6bb0 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:37 2016 -0700 Merge branch 'vr' of github.com:ricardoquesada/cocos2d-x into vr commit 12f4f71aca4fa15231976a7727faf40648d62313 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:12 2016 -0700 fix: new VR API... easier to enable/disable different VR renderers commit b6d6bb087f54cbd272fbfb9e1cf1cd6bba776ffa Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:48:04 2016 -0700 fix: compiles and runs on win10 commit e73aa8902118377abbd2192c757104c4531d2a9e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:27:06 2016 -0700 fix: vr works again commit 5615e276507edf8602f043f3130204a89dbaba69 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 18:55:18 2016 -0700 fix: compiles on windows commit 494061ee4da8fbc5616f83efb64b2c0c3932778e Merge: 284910b fd3b6d4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:13:47 2016 -0700 Merge branch 'v3' into vr commit 284910b204ee0dd76d949ea8f2b2f6b1b72e533f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:12:25 2016 -0700 android vr: better performance commit aa8328e8029143dd7c6c724f38915f0fb3b64abe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 16:10:14 2016 -0700 fix: low pass filter in accel and magnet commit f6d9b622abff5abb95ad60fa7139f3ce1ec9caab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 15:43:00 2016 -0700 fix: removes debugging info commit 2004f0ce5605dad70ff8656a058073181346f083 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 14:54:32 2016 -0700 fix: kind of works on android! yeah! commit d6dcb6a3410fda053f0d6fbc00af817a13a86d3b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 10 09:44:53 2016 -0700 logging commit 7e5d6ad52d39642c111e7b690173338af4e94092 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 22:53:07 2016 -0300 android head tracking compiles, doesn't work yet... how to debug java code? commit cbf5f6482aa0ae002a7dc40045ef3ffdbe192e26 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 19:45:41 2016 -0300 reading sensor from android not compiling yet commit 6ee0a3c2c43f8e8a603bfce9fddb0cce5ce79415 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 11:45:06 2016 -0300 compiles on android... finally commit fb728da756ca7ee94b316c113e2239a77d9f4b53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 18:15:12 2016 -0300 fix: compile vr android files only on android commit 90db6daef382d142bb60207d2b16936dd66ee245 Merge: 2e56f03 cc936af Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 12:15:56 2016 -0300 Merge pull request #11 from songchengjiang/riq_vr daydream VR platform supporting commit cc936afac44518a00b90ec3133aaac5d00f0b91f Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:38:27 2016 +0800 remove VR 3rdparty dependence commit 5f7a1a9c80f84cc915763ad6f52ffc524dd59309 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:34:37 2016 +0800 remove VR 3rdparty dependence commit 3f72ecde2a259357a137bec1e99e731a2e78df84 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:28:43 2016 +0800 remove VR 3rdparty dependence commit 2e56f032d1daced1b66b984acacc6f5007f5ecc3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 3 10:45:44 2016 -0300 fix: started android support commit 1910c9c488ee4315110081b60438aa1b7c1011f2 Author: songchengjiang <moses_jc@sina.com> Date: Thu Jun 2 15:58:34 2016 +0800 add CCVRGvrRenderer and CCVRGvrHeadTracker framework commit 96200eedea9234287153d71b4f198077cc49389a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 13:07:44 2016 -0300 fix: little fixes commit a2eb8114b2969beca83762ba829c8cb809b1615a Merge: 20a74e0 5fddebc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 12:12:59 2016 -0300 Merge pull request #10 from songchengjiang/riq_vr bugs fixed commit 5fddebcae997db9e1a4108413d73b0d057a61e83 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 15:57:30 2016 +0800 parameter corrected commit 925aad012ae513ebeeec682b003123a3c543759f Merge: 9b5e02f 20a74e0 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 15:46:13 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: cocos/2d/CCScene.cpp commit 9b5e02fa7c9fcdd15cfea99769560ed30b976e9e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 14:36:31 2016 +0800 fixed ProjectionMatrix error on oculus platform fixed ScrollView error on oculus platform commit 3c63ead1943d1cf8aa3c0fd722a4b3834db323b1 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 10:51:46 2016 +0800 bugs fixed mobile VR platforms: fixed ProjectionMatrix error fixed culling error of ScrollView commit 20a74e064708e6bf9d15cc5551d1f86af9d24010 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 20 09:22:45 2016 -0300 fix: setAdditionalTransform support reference commit 8341df82a02683b8e4ae02654e90617a2e5ced6d Merge: 83751de 469d38d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 18 07:38:49 2016 -0700 Merge pull request #8 from songchengjiang/riq_vr Finished VR integration of SKDs based on VRProtocol commit 469d38d778cd5f947098a08d8fd14ca6f32b0502 Author: songchengjiang <moses_jc@sina.com> Date: Wed May 18 15:32:32 2016 +0800 fix bug of deepoon's headtracking commit 83751deac133910c24321ddaddff93bf736de884 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 09:41:17 2016 -0700 fix: Scene inverts the eye matrix commit 41ae41969a71fd5b07396faac78e777c4afbe5c4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 06:54:34 2016 -0700 fix: inversed matrix for camera commit 049dee721356a47b19f5e51a0face6a5a1647095 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Tue May 17 15:51:57 2016 +0800 add headtracker of oculus commit 3f6478352a4baebc684105156389655edbac7e6f Author: songchengjiang <moses_jc@sina.com> Date: Tue May 17 14:22:56 2016 +0800 add headtracker of SKDs gearvr/deepoon/cardboard commit 59df985b72adf0dbb5a4c66c80ae7299b16ae909 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 22:12:23 2016 -0700 fix: head tracker works commit 306c59da0175708c96b5757f5f27afd6a6592fe3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 17:55:43 2016 -0700 fix: adds missing methods to `VRIHeadTracker` commit 91100b8a86d78801fbcd08e99427d6a6363ad69b Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 14:17:21 2016 +0800 Rename Oculus's files commit 01ef6215de936a8d8bb15f9ec195cb81b2b4b18f Author: songchengjiang <moses_jc@sina.com> Date: Mon May 16 11:41:56 2016 +0800 Rename files based on riq's changes commit 734efbb045064d24df095c5b8fc604ef2aab1dea Merge: 91449c9 769a883 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:57:57 2016 +0800 Merge branch 'riq_vr' of https://github.com/songchengjiang/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/vr/CCVRGeneric.cpp cocos/vr/CCVRGenericHeadTracker.h commit 91449c9d23e357549cb1aeae6d1454274def1aab Merge: d3e4550 a33faaf Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:54:44 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/platform/CCGLView.cpp commit a33faafa1a2b6cffdc32d87f3c1c321f46f94789 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sat May 14 00:57:54 2016 -0700 fix: adds head tracker commit ea348cf72d3e54dc3864571bff1405909dbb65c9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:40:32 2016 -0700 fix: removes red background commit 113c7debe9a35fc142183a9012cac40063e17efe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:39:31 2016 -0700 fix: centers image commit 769a883c93f4f7c6191462626845f01d6f8596fe Author: songchengjiang <moses_jc@sina.com> Date: Fri May 13 20:36:19 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr commit d3e45501cd2cada87735390a407fbd44e61cd84e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 17:52:46 2016 +0800 update win32 project for VR commit ba0fdb8b8e1efaf8fdf88e044e701fb5bedb4839 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 23:21:50 2016 -0700 fix: no hardcoded values code is simpler, fixed a few bugs commit b30596cdae4cdcf39d960a39661a79200b27c7a8 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 21:50:18 2016 -0700 fix: simplified distortion commit 37b184f084e7b50bac9a5a3c59a87f8f03440b53 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 09:39:34 2016 +0800 finished VR rendering of Oculus commit f7d74cd0a2479541c0546d0ec41fe4f867405fcc Author: songchengjiang <moses_jc@sina.com> Date: Thu May 12 10:00:43 2016 +0800 Finished GearVR and Deepoon VR rendering integration commit 776fb4fd7420f1c14403eb476df1e9716362f1e5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 11 16:56:57 2016 -0700 fix: distortion working... with too many hardcoded values time to "un-hardcode" the values commit 0584773cca88c5b3dee72821830841f617cfb21c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 19:49:07 2016 -0700 feat: distortion WIP commit 9b5ef01776eaa617dd4677c3824e50c1f9da41c6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 15:49:17 2016 -0700 fix: simpler one texture that holds both left and right eye commit bfff504c499c253a0c36b342e6b5bcb0edf4fed7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 9 10:50:43 2016 -0700 fix: Camera code is cleaner commit fcf730bc2afc6c4552787273577e1942088c2e42 Author: songchengjiang <moses_jc@sina.com> Date: Mon May 9 16:43:58 2016 +0800 support cardboard VR rendering commit f88b834b70fbfb28db0c8442e68984c61192d7cc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 21:16:10 2016 -0700 fix: proj fixes. works ok in any resolution commit f980a616837b0f259d9564e622c78e0f4869ed53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 19:08:47 2016 -0700 fix: renders ok in any device commit 4799ad32ea38ddd217e80e868c3d9021c03e88ce Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Apr 28 16:46:30 2016 -0700 fix: renders something fix: passing camera to scene adds a way to return user camera fix: stereo rendering works fix: viewport left is correct fix: scissor is not needed... fix: works! fix: minor fixes fix: new approach... almost working fix: camera is moved whitespace fixes fix: whitespaces fix: new line commit c137a53aba227cf2e2a1809b55cb9b3da25d432b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Apr 27 18:56:41 2016 -0700 fix: VR refactor... still WIP commit 16fde77d71b8309e982bf6fa4f4ee0acea5fc0d1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Apr 26 22:21:21 2016 -0700 feat: VR, initial commit
2016-06-16 02:33:25 +08:00
void Camera::apply()
{
_viewProjectionUpdated = _transformUpdated;
Squashed commit of the following: VR support for cocos2d-x commit 087aff0aec24b81418fa2678ce0cae2d4c1e2e01 Merge: b32d329 fc44d0d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:26:33 2016 -0700 Merge branch 'v3' into vr commit b32d329f9331a4f9bbbbf946b88b31db7559934d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 11:25:27 2016 -0700 fix: dont' include oculus files commit 816928c6a8782984830aa92de5bed038c1306cdc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:57:26 2016 -0700 fix: missing guard in header commit 2abd4eb5a1fc961c2cbae9b00809b5e6409740db Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:43:49 2016 -0700 removed VR engines... should be part of package manager commit 583179755d1c66c02e898297230d0f882e629b98 Merge: 12f4f71 b6d6bb0 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:37 2016 -0700 Merge branch 'vr' of github.com:ricardoquesada/cocos2d-x into vr commit 12f4f71aca4fa15231976a7727faf40648d62313 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Jun 15 10:42:12 2016 -0700 fix: new VR API... easier to enable/disable different VR renderers commit b6d6bb087f54cbd272fbfb9e1cf1cd6bba776ffa Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:48:04 2016 -0700 fix: compiles and runs on win10 commit e73aa8902118377abbd2192c757104c4531d2a9e Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 20:27:06 2016 -0700 fix: vr works again commit 5615e276507edf8602f043f3130204a89dbaba69 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 18:55:18 2016 -0700 fix: compiles on windows commit 494061ee4da8fbc5616f83efb64b2c0c3932778e Merge: 284910b fd3b6d4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:13:47 2016 -0700 Merge branch 'v3' into vr commit 284910b204ee0dd76d949ea8f2b2f6b1b72e533f Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 14 17:12:25 2016 -0700 android vr: better performance commit aa8328e8029143dd7c6c724f38915f0fb3b64abe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 16:10:14 2016 -0700 fix: low pass filter in accel and magnet commit f6d9b622abff5abb95ad60fa7139f3ce1ec9caab Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 15:43:00 2016 -0700 fix: removes debugging info commit 2004f0ce5605dad70ff8656a058073181346f083 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 13 14:54:32 2016 -0700 fix: kind of works on android! yeah! commit d6dcb6a3410fda053f0d6fbc00af817a13a86d3b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 10 09:44:53 2016 -0700 logging commit 7e5d6ad52d39642c111e7b690173338af4e94092 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 22:53:07 2016 -0300 android head tracking compiles, doesn't work yet... how to debug java code? commit cbf5f6482aa0ae002a7dc40045ef3ffdbe192e26 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 19:45:41 2016 -0300 reading sensor from android not compiling yet commit 6ee0a3c2c43f8e8a603bfce9fddb0cce5ce79415 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Jun 7 11:45:06 2016 -0300 compiles on android... finally commit fb728da756ca7ee94b316c113e2239a77d9f4b53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 18:15:12 2016 -0300 fix: compile vr android files only on android commit 90db6daef382d142bb60207d2b16936dd66ee245 Merge: 2e56f03 cc936af Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon Jun 6 12:15:56 2016 -0300 Merge pull request #11 from songchengjiang/riq_vr daydream VR platform supporting commit cc936afac44518a00b90ec3133aaac5d00f0b91f Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:38:27 2016 +0800 remove VR 3rdparty dependence commit 5f7a1a9c80f84cc915763ad6f52ffc524dd59309 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:34:37 2016 +0800 remove VR 3rdparty dependence commit 3f72ecde2a259357a137bec1e99e731a2e78df84 Author: songchengjiang <moses_jc@sina.com> Date: Mon Jun 6 10:28:43 2016 +0800 remove VR 3rdparty dependence commit 2e56f032d1daced1b66b984acacc6f5007f5ecc3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri Jun 3 10:45:44 2016 -0300 fix: started android support commit 1910c9c488ee4315110081b60438aa1b7c1011f2 Author: songchengjiang <moses_jc@sina.com> Date: Thu Jun 2 15:58:34 2016 +0800 add CCVRGvrRenderer and CCVRGvrHeadTracker framework commit 96200eedea9234287153d71b4f198077cc49389a Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 13:07:44 2016 -0300 fix: little fixes commit a2eb8114b2969beca83762ba829c8cb809b1615a Merge: 20a74e0 5fddebc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 31 12:12:59 2016 -0300 Merge pull request #10 from songchengjiang/riq_vr bugs fixed commit 5fddebcae997db9e1a4108413d73b0d057a61e83 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 15:57:30 2016 +0800 parameter corrected commit 925aad012ae513ebeeec682b003123a3c543759f Merge: 9b5e02f 20a74e0 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 15:46:13 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: cocos/2d/CCScene.cpp commit 9b5e02fa7c9fcdd15cfea99769560ed30b976e9e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 27 14:36:31 2016 +0800 fixed ProjectionMatrix error on oculus platform fixed ScrollView error on oculus platform commit 3c63ead1943d1cf8aa3c0fd722a4b3834db323b1 Author: songchengjiang <moses_jc@sina.com> Date: Fri May 27 10:51:46 2016 +0800 bugs fixed mobile VR platforms: fixed ProjectionMatrix error fixed culling error of ScrollView commit 20a74e064708e6bf9d15cc5551d1f86af9d24010 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 20 09:22:45 2016 -0300 fix: setAdditionalTransform support reference commit 8341df82a02683b8e4ae02654e90617a2e5ced6d Merge: 83751de 469d38d Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 18 07:38:49 2016 -0700 Merge pull request #8 from songchengjiang/riq_vr Finished VR integration of SKDs based on VRProtocol commit 469d38d778cd5f947098a08d8fd14ca6f32b0502 Author: songchengjiang <moses_jc@sina.com> Date: Wed May 18 15:32:32 2016 +0800 fix bug of deepoon's headtracking commit 83751deac133910c24321ddaddff93bf736de884 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 09:41:17 2016 -0700 fix: Scene inverts the eye matrix commit 41ae41969a71fd5b07396faac78e777c4afbe5c4 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 17 06:54:34 2016 -0700 fix: inversed matrix for camera commit 049dee721356a47b19f5e51a0face6a5a1647095 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Tue May 17 15:51:57 2016 +0800 add headtracker of oculus commit 3f6478352a4baebc684105156389655edbac7e6f Author: songchengjiang <moses_jc@sina.com> Date: Tue May 17 14:22:56 2016 +0800 add headtracker of SKDs gearvr/deepoon/cardboard commit 59df985b72adf0dbb5a4c66c80ae7299b16ae909 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 22:12:23 2016 -0700 fix: head tracker works commit 306c59da0175708c96b5757f5f27afd6a6592fe3 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 16 17:55:43 2016 -0700 fix: adds missing methods to `VRIHeadTracker` commit 91100b8a86d78801fbcd08e99427d6a6363ad69b Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 14:17:21 2016 +0800 Rename Oculus's files commit 01ef6215de936a8d8bb15f9ec195cb81b2b4b18f Author: songchengjiang <moses_jc@sina.com> Date: Mon May 16 11:41:56 2016 +0800 Rename files based on riq's changes commit 734efbb045064d24df095c5b8fc604ef2aab1dea Merge: 91449c9 769a883 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:57:57 2016 +0800 Merge branch 'riq_vr' of https://github.com/songchengjiang/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/vr/CCVRGeneric.cpp cocos/vr/CCVRGenericHeadTracker.h commit 91449c9d23e357549cb1aeae6d1454274def1aab Merge: d3e4550 a33faaf Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Mon May 16 09:54:44 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr Conflicts: build/cocos2d_libs.xcodeproj/project.pbxproj cocos/platform/CCGLView.cpp commit a33faafa1a2b6cffdc32d87f3c1c321f46f94789 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Sat May 14 00:57:54 2016 -0700 fix: adds head tracker commit ea348cf72d3e54dc3864571bff1405909dbb65c9 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:40:32 2016 -0700 fix: removes red background commit 113c7debe9a35fc142183a9012cac40063e17efe Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 13 18:39:31 2016 -0700 fix: centers image commit 769a883c93f4f7c6191462626845f01d6f8596fe Author: songchengjiang <moses_jc@sina.com> Date: Fri May 13 20:36:19 2016 +0800 Merge branch 'vr' of https://github.com/ricardoquesada/cocos2d-x into riq_vr commit d3e45501cd2cada87735390a407fbd44e61cd84e Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 17:52:46 2016 +0800 update win32 project for VR commit ba0fdb8b8e1efaf8fdf88e044e701fb5bedb4839 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 23:21:50 2016 -0700 fix: no hardcoded values code is simpler, fixed a few bugs commit b30596cdae4cdcf39d960a39661a79200b27c7a8 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu May 12 21:50:18 2016 -0700 fix: simplified distortion commit 37b184f084e7b50bac9a5a3c59a87f8f03440b53 Author: songchengjiang <songcheng.jiang@chukong-inc.com> Date: Fri May 13 09:39:34 2016 +0800 finished VR rendering of Oculus commit f7d74cd0a2479541c0546d0ec41fe4f867405fcc Author: songchengjiang <moses_jc@sina.com> Date: Thu May 12 10:00:43 2016 +0800 Finished GearVR and Deepoon VR rendering integration commit 776fb4fd7420f1c14403eb476df1e9716362f1e5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 11 16:56:57 2016 -0700 fix: distortion working... with too many hardcoded values time to "un-hardcode" the values commit 0584773cca88c5b3dee72821830841f617cfb21c Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 19:49:07 2016 -0700 feat: distortion WIP commit 9b5ef01776eaa617dd4677c3824e50c1f9da41c6 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue May 10 15:49:17 2016 -0700 fix: simpler one texture that holds both left and right eye commit bfff504c499c253a0c36b342e6b5bcb0edf4fed7 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Mon May 9 10:50:43 2016 -0700 fix: Camera code is cleaner commit fcf730bc2afc6c4552787273577e1942088c2e42 Author: songchengjiang <moses_jc@sina.com> Date: Mon May 9 16:43:58 2016 +0800 support cardboard VR rendering commit f88b834b70fbfb28db0c8442e68984c61192d7cc Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 21:16:10 2016 -0700 fix: proj fixes. works ok in any resolution commit f980a616837b0f259d9564e622c78e0f4869ed53 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Fri May 6 19:08:47 2016 -0700 fix: renders ok in any device commit 4799ad32ea38ddd217e80e868c3d9021c03e88ce Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Thu Apr 28 16:46:30 2016 -0700 fix: renders something fix: passing camera to scene adds a way to return user camera fix: stereo rendering works fix: viewport left is correct fix: scissor is not needed... fix: works! fix: minor fixes fix: new approach... almost working fix: camera is moved whitespace fixes fix: whitespaces fix: new line commit c137a53aba227cf2e2a1809b55cb9b3da25d432b Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed Apr 27 18:56:41 2016 -0700 fix: VR refactor... still WIP commit 16fde77d71b8309e982bf6fa4f4ee0acea5fc0d1 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Tue Apr 26 22:21:21 2016 -0700 feat: VR, initial commit
2016-06-16 02:33:25 +08:00
applyViewport();
}
2015-05-29 15:52:06 +08:00
void Camera::applyViewport()
{
2021-12-25 10:04:45 +08:00
_director->getRenderer()->setViewPort(_defaultViewport.x, _defaultViewport.y, _defaultViewport.w,
_defaultViewport.h);
}
int Camera::getRenderOrder() const
{
int result(0);
2021-12-25 10:04:45 +08:00
result = 127 << 8;
result += _depth;
return result;
}
2022-06-14 02:04:24 +08:00
void Camera::setAspectRatio(float ratio)
{
_aspectRatio = ratio;
applyCustomProperties();
}
void Camera::setFOV(float fieldOfView)
{
_fieldOfView = fieldOfView;
applyCustomProperties();
}
void Camera::setFarPlane(float farPlane)
{
_farPlane = farPlane;
applyCustomProperties();
}
void Camera::setNearPlane(float nearPlane)
{
_nearPlane = nearPlane;
applyCustomProperties();
}
2021-12-25 10:04:45 +08:00
void Camera::visit(Renderer* renderer, const Mat4& parentTransform, uint32_t parentFlags)
2015-07-30 11:53:23 +08:00
{
_viewProjectionUpdated = _transformUpdated;
return Node::visit(renderer, parentTransform, parentFlags);
}
2015-08-21 10:27:19 +08:00
void Camera::setBackgroundBrush(CameraBackgroundBrush* clearBrush)
{
2022-07-15 19:17:01 +08:00
AX_SAFE_RETAIN(clearBrush);
AX_SAFE_RELEASE(_clearBrush);
_clearBrush = clearBrush;
}
bool Camera::isBrushValid()
{
return _clearBrush != nullptr && _clearBrush->isValid();
}
NS_AX_END