githubhaohao / ndk_opengles_3_0 Goto Github PK
View Code? Open in Web Editor NEWAndroid OpenGL ES 3.0 从入门到精通系统性学习教程
License: Apache License 2.0
Android OpenGL ES 3.0 从入门到精通系统性学习教程
License: Apache License 2.0
建议删除项目中的.idea文件,这个文件是IDE开发工具的配置相关的,是自动生成的。
拉项目下来有这个目录可能导致出现奇奇怪怪的错误,编译失败。
就和build文件一样
com.android.builder.merge.DuplicateRelativeFileException: 2 files found with path 'lib/arm64-v8a/libassimp.so' from inputs:
error: undefined reference to 'glTexBuffer'
网上搜了说是GLESv2没有这个方法,但是看CmakeLists.txt里用的是v3的.
Is there any to apply these (https://gl-transitions.com/ ) transitions to between videos, as asset file
* Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:buildCMakeDebug[arm64-v8a]'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:188) at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:186) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:174) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:74) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:402) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:389) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:382) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:368) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:61) Caused by: org.gradle.internal.UncheckedException: Build command failed. Error while executing process D:\Android\sdk\cmake\3.18.1\bin\ninja.exe with arguments {-C F:\AndroidStudioProjects\MyApplication4\app\.cxx\Debug\19r1c431\arm64-v8a native-render} ninja: Entering directory
F:\AndroidStudioProjects\MyApplication4\app.cxx\Debug\19r1c431\arm64-v8a'
[1/1] Linking CXX shared library F:\AndroidStudioProjects\MyApplication4\app\build\intermediates\cxx\Debug\19r1c431\obj\arm64-v8a\libnative-render.so
FAILED: F:/AndroidStudioProjects/MyApplication4/app/build/intermediates/cxx/Debug/19r1c431/obj/arm64-v8a/libnative-render.so
cmd.exe /C "cd . && D:\Android\SDK\ndk\21.4.7075529\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android21 --sysroot=D:/Android/SDK/ndk/21.4.7075529/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fno-limit-debug-info -static-libstdc++ -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libnative-render.so -o F:\AndroidStudioProjects\MyApplication4\app\build\intermediates\cxx\Debug\19r1c431\obj\arm64-v8a\libnative-render.so CMakeFiles/native-render.dir/JniImpl.cpp.o CMakeFiles/native-render.dir/egl/EglCore.cpp.o CMakeFiles/native-render.dir/egl/EglSurfaceBase.cpp.o CMakeFiles/native-render.dir/egl/OffscreenSurface.cpp.o CMakeFiles/native-render.dir/egl/WindowSurface.cpp.o CMakeFiles/native-render.dir/looper/GLRenderLooper.cpp.o CMakeFiles/native-render.dir/looper/Looper.cpp.o CMakeFiles/native-render.dir/render/EGLRender.cpp.o CMakeFiles/native-render.dir/render/MyGLRenderContext.cpp.o CMakeFiles/native-render.dir/sample/AvatarSample.cpp.o CMakeFiles/native-render.dir/sample/BasicLightingSample.cpp.o CMakeFiles/native-render.dir/sample/BeatingHeartSample.cpp.o CMakeFiles/native-render.dir/sample/BezierCurveSample.cpp.o CMakeFiles/native-render.dir/sample/BigEyesSample.cpp.o CMakeFiles/native-render.dir/sample/BigHeadSample.cpp.o CMakeFiles/native-render.dir/sample/BlendingSample.cpp.o CMakeFiles/native-render.dir/sample/CloudSample.cpp.o CMakeFiles/native-render.dir/sample/ConveyorBeltExample.cpp.o CMakeFiles/native-render.dir/sample/CoordSystemSample.cpp.o CMakeFiles/native-render.dir/sample/DepthTestingSample.cpp.o CMakeFiles/native-render.dir/sample/FBOBlitSample.cpp.o CMakeFiles/native-render.dir/sample/FBOLegLengthenSample.cpp.o CMakeFiles/native-render.dir/sample/FBOSample.cpp.o CMakeFiles/native-render.dir/sample/FaceSlenderSample.cpp.o CMakeFiles/native-render.dir/sample/GLTransitionExample.cpp.o CMakeFiles/native-render.dir/sample/GLTransitionExample_2.cpp.o CMakeFiles/native-render.dir/sample/GLTransitionExample_3.cpp.o CMakeFiles/native-render.dir/sample/GLTransitionExample_4.cpp.o CMakeFiles/native-render.dir/sample/Instancing3DSample.cpp.o CMakeFiles/native-render.dir/sample/InstancingSample.cpp.o CMakeFiles/native-render.dir/sample/MRTSample.cpp.o CMakeFiles/native-render.dir/sample/Model3DSample.cpp.o CMakeFiles/native-render.dir/sample/MultiLightsSample.cpp.o CMakeFiles/native-render.dir/sample/NV21TextureMapSample.cpp.o CMakeFiles/native-render.dir/sample/Noise3DSample.cpp.o CMakeFiles/native-render.dir/sample/PBOSample.cpp.o CMakeFiles/native-render.dir/sample/ParticlesSample.cpp.o CMakeFiles/native-render.dir/sample/PortraitStayColorExample.cpp.o CMakeFiles/native-render.dir/sample/RGB2I420Sample.cpp.o CMakeFiles/native-render.dir/sample/RGB2I444Sample.cpp.o CMakeFiles/native-render.dir/sample/RGB2NV21Sample.cpp.o CMakeFiles/native-render.dir/sample/RGB2YUYVSample.cpp.o CMakeFiles/native-render.dir/sample/RotaryHeadSample.cpp.o CMakeFiles/native-render.dir/sample/ScratchCardSample.cpp.o CMakeFiles/native-render.dir/sample/SharedEGLContextSample.cpp.o CMakeFiles/native-render.dir/sample/ShockWaveSample.cpp.o CMakeFiles/native-render.dir/sample/SkyBoxSample.cpp.o CMakeFiles/native-render.dir/sample/StencilTestingSample.cpp.o CMakeFiles/native-render.dir/sample/TextRenderSample.cpp.o CMakeFiles/native-render.dir/sample/TextureBuffferSample.cpp.o CMakeFiles/native-render.dir/sample/TextureMapSample.cpp.o CMakeFiles/native-render.dir/sample/TimeTunnelSample.cpp.o CMakeFiles/native-render.dir/sample/TransformFeedbackSample.cpp.o CMakeFiles/native-render.dir/sample/TriangleSample.cpp.o CMakeFiles/native-render.dir/sample/UniformBufferSample.cpp.o CMakeFiles/native-render.dir/sample/VaoSample.cpp.o CMakeFiles/native-render.dir/sample/VisualizeAudioSample.cpp.o CMakeFiles/native-render.dir/sample/YUVP010Example.cpp.o CMakeFiles/native-render.dir/util/GLUtils.cpp.o -llog F:/AndroidStudioProjects/MyApplication4/app/src/main/cpp/../jniLibs/arm64-v8a/libfreetype.a F:/AndroidStudioProjects/MyApplication4/app/src/main/cpp/../jniLibs/arm64-v8a/libassimp.so F:/AndroidStudioProjects/MyApplication4/app/src/main/cpp/../jniLibs/arm64-v8a/libopencv_java3.so -lEGL -lGLESv3 -landroid -latomic -lm && cd ."
ld: error: found local symbol 'edata' in global part of symbol table in file F:/AndroidStudioProjects/MyApplication4/app/src/main/cpp/../jniLibs/arm64-v8a/libopencv_java3.so
ld: error: found local symbol 'end' in global part of symbol table in file F:/AndroidStudioProjects/MyApplication4/app/src/main/cpp/../jniLibs/arm64-v8a/libopencv_java3.so
ld: error: found local symbol 'bss_end' in global part of symbol table in file F:/AndroidStudioProjects/MyApplication4/app/src/main/cpp/../jniLibs/arm64-v8a/libopencv_java3.so
ld: error: found local symbol 'bss_end' in global part of symbol table in file F:/AndroidStudioProjects/MyApplication4/app/src/main/cpp/../jniLibs/arm64-v8a/libopencv_java3.so
ld: error: found local symbol 'bss_start' in global part of symbol table in file F:/AndroidStudioProjects/MyApplication4/app/src/main/cpp/../jniLibs/arm64-v8a/libopencv_java3.so
ld: error: found local symbol '_end' in global part of symbol table in file F:/AndroidStudioProjects/MyApplication4/app/src/main/cpp/../jniLibs/arm64-v8a/libopencv_java3.so
ld: error: found local symbol '__bss_start' in global part of symbol table in file F:/AndroidStudioProjects/MyApplication4/app/src/main/cpp/../jniLibs/arm64-v8a/libopencv_java3.so
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.`
ld: error: found local symbol '__bss_start' in global part of symbol table in file E:/AndroidProject/NDK_OpenGLES_3_0/app/src/main/cpp/../jniLibs/arm64-v8a/libopencv_java3.so
有朋友出现在3.2版本上,贝塞尔线抖动的情况吗,在cpp内输入的起止点控制点数据均保留到小数点后六位,shader内数据无法打印,现象为贝塞尔曲线抖动
Android Studio4.0已自动打包 CMake
https://developer.android.google.cn/studio/releases/gradle-plugin#cmake-imported-targets
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.