├── .gitignore
├── 01.EmbedResource
├── CMakeLists.txt
├── README.md
├── android
│ ├── .hgignore
│ ├── android.iml
│ ├── app
│ │ ├── CMakeLists.txt
│ │ ├── app.iml
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── cpp
│ │ │ ├── Features.txt
│ │ │ ├── format.h
│ │ │ ├── library.cpp
│ │ │ ├── log.h
│ │ │ ├── main.h
│ │ │ ├── render.h
│ │ │ ├── resource.h
│ │ │ └── scene.h
│ │ │ ├── java
│ │ │ ├── Features.txt
│ │ │ └── MainActivity.java
│ │ │ └── res
│ │ │ ├── drawable-v24
│ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── drawable
│ │ │ └── ic_launcher_background.xml
│ │ │ ├── layout
│ │ │ └── activity_main.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── desktop
│ ├── CMakeLists.txt
│ └── src
│ │ ├── Features.txt
│ │ ├── format.h
│ │ ├── log.h
│ │ ├── main.cpp
│ │ ├── main.h
│ │ ├── render.h
│ │ ├── resource.h
│ │ └── scene.h
├── ios
│ ├── ex01.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── kornerr.xcuserdatad
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ └── src
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ │ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ │ ├── Features.txt
│ │ ├── Info.plist
│ │ ├── format.h
│ │ ├── ios.h
│ │ ├── ios.mm
│ │ ├── library.cpp
│ │ ├── library.h
│ │ ├── library.mm
│ │ ├── log.h
│ │ ├── main.h
│ │ ├── main.m
│ │ ├── render.h
│ │ ├── resource.h
│ │ └── scene.h
├── shot.png
└── web
│ ├── CMakeLists.txt
│ └── src
│ ├── Application.h
│ ├── Example.h
│ ├── Features.txt
│ ├── core.h
│ ├── format.h
│ ├── log.h
│ ├── main.cpp
│ ├── main.h
│ ├── render.h
│ ├── rendering.h
│ ├── resource.h
│ └── scene.h
├── 02.TextureImage
├── CMakeLists.txt
├── README.md
├── android
│ ├── android.iml
│ ├── app
│ │ ├── CMakeLists.txt
│ │ ├── app.iml
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── cpp
│ │ │ ├── Features.txt
│ │ │ ├── format.h
│ │ │ ├── library.cpp
│ │ │ ├── log.h
│ │ │ ├── main.h
│ │ │ ├── render.h
│ │ │ ├── resource.h
│ │ │ └── scene.h
│ │ │ ├── java
│ │ │ ├── Features.txt
│ │ │ └── MainActivity.java
│ │ │ └── res
│ │ │ ├── drawable-v24
│ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── drawable
│ │ │ └── ic_launcher_background.xml
│ │ │ ├── layout
│ │ │ └── activity_main.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── desktop
│ ├── CMakeLists.txt
│ └── src
│ │ ├── Features.txt
│ │ ├── core.h
│ │ ├── format.h
│ │ ├── log.h
│ │ ├── main.cpp
│ │ ├── main.h
│ │ ├── render.h
│ │ ├── resource.h
│ │ └── scene.h
├── ios
│ ├── ex02.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ └── src
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ │ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ │ ├── Features.txt
│ │ ├── Info.plist
│ │ ├── format.h
│ │ ├── ios.h
│ │ ├── ios.mm
│ │ ├── library.cpp
│ │ ├── library.h
│ │ ├── library.mm
│ │ ├── log.h
│ │ ├── main.h
│ │ ├── main.m
│ │ ├── render.h
│ │ ├── resource.h
│ │ └── scene.h
├── shot.png
└── web
│ ├── CMakeLists.txt
│ └── src
│ ├── Features.txt
│ ├── format.h
│ ├── log.h
│ ├── main.cpp
│ ├── main.h
│ ├── render.h
│ ├── resource.h
│ └── scene.h
├── 03.HTTPClient
├── CMakeLists.txt
├── README.md
├── android
│ ├── android.iml
│ ├── app
│ │ ├── CMakeLists.txt
│ │ ├── app.iml
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── cpp
│ │ │ ├── Features.txt
│ │ │ ├── core.h
│ │ │ ├── format.h
│ │ │ ├── library.cpp
│ │ │ ├── log.h
│ │ │ ├── main.h
│ │ │ ├── network.h
│ │ │ ├── render.h
│ │ │ ├── resource.h
│ │ │ └── scene.h
│ │ │ ├── java
│ │ │ ├── Features.txt
│ │ │ └── MainActivity.java
│ │ │ └── res
│ │ │ ├── drawable-v24
│ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── drawable
│ │ │ └── ic_launcher_background.xml
│ │ │ ├── layout
│ │ │ └── activity_main.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── desktop
│ ├── CMakeLists.txt
│ └── src
│ │ ├── Features.txt
│ │ ├── core.h
│ │ ├── format.h
│ │ ├── log.h
│ │ ├── main.cpp
│ │ ├── main.h
│ │ ├── network.h
│ │ ├── render.h
│ │ ├── resource.h
│ │ └── scene.h
├── ios
│ ├── ex03.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ └── src
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ │ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ │ ├── Features.txt
│ │ ├── Info.plist
│ │ ├── core.h
│ │ ├── format.h
│ │ ├── ios.h
│ │ ├── ios.mm
│ │ ├── library.cpp
│ │ ├── library.h
│ │ ├── library.mm
│ │ ├── log.h
│ │ ├── main.h
│ │ ├── main.m
│ │ ├── network.h
│ │ ├── render.h
│ │ ├── resource.h
│ │ └── scene.h
├── shot.png
└── web
│ ├── CMakeLists.txt
│ └── src
│ ├── Features.txt
│ ├── core.h
│ ├── format.h
│ ├── log.h
│ ├── main.cpp
│ ├── main.h
│ ├── network.h
│ ├── render.h
│ ├── resource.h
│ └── scene.h
├── 04.RemoteDebugging
├── CMakeLists.txt
├── README.md
├── android
│ ├── android.iml
│ ├── app
│ │ ├── CMakeLists.txt
│ │ ├── app.iml
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── cpp
│ │ │ ├── Features.txt
│ │ │ ├── core.h
│ │ │ ├── debug.h
│ │ │ ├── format.h
│ │ │ ├── library.cpp
│ │ │ ├── log.h
│ │ │ ├── main.h
│ │ │ ├── network.h
│ │ │ ├── render.h
│ │ │ ├── resource.h
│ │ │ └── scene.h
│ │ │ ├── java
│ │ │ ├── Features.txt
│ │ │ └── MainActivity.java
│ │ │ └── res
│ │ │ ├── drawable-v24
│ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── drawable
│ │ │ └── ic_launcher_background.xml
│ │ │ ├── layout
│ │ │ └── activity_main.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── desktop
│ ├── CMakeLists.txt
│ └── src
│ │ ├── Features.txt
│ │ ├── core.h
│ │ ├── debug.h
│ │ ├── format.h
│ │ ├── log.h
│ │ ├── main.cpp
│ │ ├── main.h
│ │ ├── network.h
│ │ ├── render.h
│ │ ├── resource.h
│ │ └── scene.h
├── ios
│ ├── ex04.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ └── src
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ │ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ │ ├── Features.txt
│ │ ├── Info.plist
│ │ ├── core.h
│ │ ├── debug.h
│ │ ├── format.h
│ │ ├── ios.h
│ │ ├── ios.mm
│ │ ├── library.cpp
│ │ ├── library.h
│ │ ├── library.mm
│ │ ├── log.h
│ │ ├── main.h
│ │ ├── main.m
│ │ ├── network.h
│ │ ├── render.h
│ │ ├── resource.h
│ │ └── scene.h
├── shot.png
└── web
│ ├── CMakeLists.txt
│ └── src
│ ├── Features.txt
│ ├── core.h
│ ├── debug.h
│ ├── format.h
│ ├── log.h
│ ├── main.cpp
│ ├── main.h
│ ├── network.h
│ ├── render.h
│ ├── resource.h
│ └── scene.h
├── 05.NodeSelection
├── CMakeLists.txt
├── README.md
├── android
│ ├── android.iml
│ ├── app
│ │ ├── CMakeLists.txt
│ │ ├── app.iml
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── cpp
│ │ │ ├── Features.txt
│ │ │ ├── core.h
│ │ │ ├── format.h
│ │ │ ├── input.h
│ │ │ ├── library.cpp
│ │ │ ├── log.h
│ │ │ ├── main.h
│ │ │ ├── render.h
│ │ │ ├── resource.h
│ │ │ └── scene.h
│ │ │ ├── java
│ │ │ ├── Features.txt
│ │ │ └── MainActivity.java
│ │ │ └── res
│ │ │ ├── drawable-v24
│ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── drawable
│ │ │ └── ic_launcher_background.xml
│ │ │ ├── layout
│ │ │ └── activity_main.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── desktop
│ ├── CMakeLists.txt
│ └── src
│ │ ├── Features.txt
│ │ ├── core.h
│ │ ├── format.h
│ │ ├── input.h
│ │ ├── log.h
│ │ ├── main.cpp
│ │ ├── main.h
│ │ ├── render.h
│ │ ├── resource.h
│ │ └── scene.h
├── ios
│ ├── ex05.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ └── src
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ │ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ │ ├── Features.txt
│ │ ├── Info.plist
│ │ ├── core.h
│ │ ├── format.h
│ │ ├── input.h
│ │ ├── ios.h
│ │ ├── ios.mm
│ │ ├── library.cpp
│ │ ├── library.h
│ │ ├── library.mm
│ │ ├── log.h
│ │ ├── main.h
│ │ ├── main.m
│ │ ├── render.h
│ │ ├── resource.h
│ │ └── scene.h
├── shot.png
└── web
│ ├── CMakeLists.txt
│ └── src
│ ├── Features.txt
│ ├── core.h
│ ├── format.h
│ ├── input.h
│ ├── log.h
│ ├── main.cpp
│ ├── main.h
│ ├── render.h
│ ├── resource.h
│ └── scene.h
├── 06.CommandSequence
├── CMakeLists.txt
├── README.md
├── android
│ ├── android.iml
│ ├── app
│ │ ├── CMakeLists.txt
│ │ ├── app.iml
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── cpp
│ │ │ ├── Features.txt
│ │ │ ├── core.h
│ │ │ ├── format.h
│ │ │ ├── input.h
│ │ │ ├── library.cpp
│ │ │ ├── log.h
│ │ │ ├── main.h
│ │ │ ├── render.h
│ │ │ ├── resource.h
│ │ │ └── scene.h
│ │ │ ├── java
│ │ │ ├── Features.txt
│ │ │ └── MainActivity.java
│ │ │ └── res
│ │ │ ├── drawable-v24
│ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── drawable
│ │ │ └── ic_launcher_background.xml
│ │ │ ├── layout
│ │ │ └── activity_main.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ │ ├── mipmap-hdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ ├── ic_launcher.png
│ │ │ └── ic_launcher_round.png
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── desktop
│ ├── CMakeLists.txt
│ └── src
│ │ ├── Features.txt
│ │ ├── core.h
│ │ ├── format.h
│ │ ├── input.h
│ │ ├── log.h
│ │ ├── main.cpp
│ │ ├── main.h
│ │ ├── render.h
│ │ ├── resource.h
│ │ └── scene.h
├── ios
│ ├── ex06.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ └── src
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ │ ├── Base.lproj
│ │ └── LaunchScreen.storyboard
│ │ ├── Features.txt
│ │ ├── Info.plist
│ │ ├── core.h
│ │ ├── format.h
│ │ ├── input.h
│ │ ├── ios.h
│ │ ├── ios.mm
│ │ ├── library.cpp
│ │ ├── library.h
│ │ ├── library.mm
│ │ ├── log.h
│ │ ├── main.h
│ │ ├── main.m
│ │ ├── render.h
│ │ ├── resource.h
│ │ └── scene.h
├── shot.png
└── web
│ ├── CMakeLists.txt
│ └── src
│ ├── Features.txt
│ ├── core.h
│ ├── format.h
│ ├── input.h
│ ├── log.h
│ ├── main.cpp
│ ├── main.h
│ ├── render.h
│ ├── resource.h
│ └── scene.h
├── README.md
├── data
├── box.osgt
├── box.osgt.h
├── digit.png
├── digit.png.h
├── ppl.frag
├── ppl.frag.h
├── ppl.vert
└── ppl.vert.h
├── features
├── android
│ ├── EGLview.java
│ ├── Ex01.java
│ ├── Ex02.java
│ ├── Ex03.java
│ ├── Ex04.java
│ ├── Ex05.java
│ ├── Ex06.java
│ ├── HTTPClientProcessor.java
│ ├── HTTPRequest.java
│ ├── HTTPRequestDelegate.java
│ ├── MainActivity+HTTPClientProcessor.java
│ ├── MainActivity+Input.java
│ ├── MainActivity+library+frame.java
│ ├── MainActivity+library+init.java
│ ├── MainActivity.java
│ ├── RendererDelegate.java
│ ├── library+frame.java
│ ├── library+handleMousePress.java
│ ├── library+httpClient.java
│ ├── library+init.java
│ ├── library.java
│ └── src
│ │ └── MainActivity.java
├── core
│ ├── CORE_REPORTER_LOG.cpp
│ ├── CORE_SEQUENCE_ACTION.cpp
│ ├── CORE_SEQUENCE_LOG.cpp
│ ├── Reporter.cpp
│ ├── Sequence.cpp
│ └── src
│ │ └── core.h
├── debug
│ ├── DEBUG_DEBUGGER_LOG.cpp
│ ├── DEBUG_PAGE_LOG.cpp
│ ├── Debugger+page.cpp
│ ├── Debugger+process.cpp
│ ├── Debugger+processJSON.cpp
│ ├── Debugger.cpp
│ ├── Page+item.cpp
│ ├── Page+setDesc.cpp
│ ├── Page.cpp
│ ├── PageDesc.cpp
│ ├── debuggerToJSON.cpp
│ ├── jsonToPageDesc.cpp
│ ├── pageToJSON.cpp
│ └── src
│ │ └── debug.h
├── format
│ ├── commandLineArgumentsToParameters.cpp
│ ├── printfString.cpp
│ ├── splitString.cpp
│ ├── src
│ │ └── format.h
│ ├── stringStartsWith.cpp
│ ├── trimmedString.cpp
│ └── urlQueryToParameters.cpp
├── input
│ ├── Mouse.cpp
│ ├── MouseButtons.cpp
│ ├── OSGCPE_INPUT_MOUSE_LOG.cpp
│ └── src
│ │ └── input.h
├── ios
│ ├── AppDelegate+HTTPClientProcessor-ios.mm
│ ├── AppDelegate+RenderVC.mm
│ ├── AppDelegate.mm
│ ├── HTTPClientProcessor-ios.mm
│ ├── RenderVC+FrameReporting.mm
│ ├── RenderVC.mm
│ └── src
│ │ ├── ios.h
│ │ └── ios.mm
├── log
│ ├── Logger.cpp
│ ├── log-android.cpp
│ ├── log-default.cpp
│ ├── logLevelToString.cpp
│ ├── logprintf.cpp
│ └── src
│ │ └── log.h
├── main
│ ├── Application+CameraManipulator.cpp
│ ├── Application+Debugging.cpp
│ ├── Application+HTTPClient.cpp
│ ├── Application+HTTPClientProcessor.cpp
│ ├── Application+Logging.cpp
│ ├── Application+Mouse.cpp
│ ├── Application+Rendering.cpp
│ ├── Application+WindowResizing-web.cpp
│ ├── Application+camera.cpp
│ ├── Application+frame+Reporting.cpp
│ ├── Application+frame.cpp
│ ├── Application+handleEvent-web.cpp
│ ├── Application+handleMousePress-android.cpp
│ ├── Application+run.cpp
│ ├── Application+setupWindow-desktop.cpp
│ ├── Application+setupWindow-embedded.cpp
│ ├── Application+setupWindow-ios.cpp
│ ├── Application+setupWindow-web.cpp
│ ├── Application.cpp
│ ├── Example+01.cpp
│ ├── Example+02.cpp
│ ├── Example+03.cpp
│ ├── Example+04.cpp
│ ├── Example+05.cpp
│ ├── Example+06.cpp
│ ├── Example+07.cpp
│ ├── Example+BoxRotation.cpp
│ ├── Example+BoxScene.cpp
│ ├── Example+BoxSelection.cpp
│ ├── Example+DebugCamera.cpp
│ ├── Example+HTTPSGetPost.cpp
│ ├── Example+SequenceTest.cpp
│ ├── Example+SingleColorScene.cpp
│ ├── Example+StaticPluginOSG.cpp
│ ├── Example+StaticPluginPNG.cpp
│ ├── Example+TextureImageScene.cpp
│ ├── Example+VBO.cpp
│ ├── Example.cpp
│ ├── MAIN_APPLICATION_LOG.cpp
│ ├── MAIN_EXAMPLE_LOG.cpp
│ ├── library+Ex01+JNI-android.cpp
│ ├── library+Ex02+JNI-android.cpp
│ ├── library+Ex03+JNI-android.cpp
│ ├── library+Ex04+JNI-android.cpp
│ ├── library+Ex05+JNI-android.cpp
│ ├── library+Ex06+JNI-android.cpp
│ ├── library+frame-android.cpp
│ ├── library+frame-ios.cpp
│ ├── library+handleMousePress-android.cpp
│ ├── library+httpClient-android.cpp
│ ├── library+httpClient-ios.cpp
│ ├── library+init-android.cpp
│ ├── library+init-ios.cpp
│ ├── library+jniStrings-android.cpp
│ ├── library-android.cpp
│ ├── library-ios.cpp
│ ├── main+Arguments-desktop.cpp
│ ├── main+Arguments-web.cpp
│ ├── main+Input-web.cpp
│ ├── main+WindowResizing-web.cpp
│ ├── main-desktop.cpp
│ ├── main-web.cpp
│ └── src
│ │ ├── library.cpp
│ │ ├── library.h
│ │ ├── main.cpp
│ │ └── main.h
├── network
│ ├── HTTPClient.cpp
│ ├── HTTPClientFetch.cpp
│ ├── HTTPClientProcessor.cpp
│ ├── HTTPRequest.cpp
│ ├── HTTPRequestProcessorFetch.cpp
│ ├── HTTPRequestProcessorMongoose.cpp
│ ├── fetch.cpp
│ ├── mongoose.cpp
│ └── src
│ │ └── network.h
├── render
│ ├── VBOSetupVisitor.cpp
│ ├── createGraphicsContext-desktop.cpp
│ ├── createGraphicsContext-ios.cpp
│ ├── createShaderProgram.cpp
│ ├── setupCamera.cpp
│ └── src
│ │ └── render.h
├── resource
│ ├── Pool.cpp
│ ├── RESOURCE_LOG.cpp
│ ├── RESOURCE_POOL_LOG.cpp
│ ├── Resource.cpp
│ ├── ResourceStreamBuffer.cpp
│ ├── createTexture.cpp
│ ├── extension.cpp
│ ├── node.cpp
│ ├── setTextureImage.cpp
│ ├── src
│ │ └── resource.h
│ ├── string.cpp
│ └── stringToResourceContents.cpp
└── scene
│ ├── LinearInterpolator.cpp
│ ├── OSGCPE_SCENE_LINEAR_INTERPOLATOR_LOG.cpp
│ ├── PrintGraphVisitor.cpp
│ ├── createBox.cpp
│ ├── createShape.cpp
│ ├── createSphere.cpp
│ ├── degreesToQuaternion.cpp
│ ├── nodeAtPosition.cpp
│ ├── paintScene.cpp
│ ├── quaternionToDegrees.cpp
│ ├── setSimplePosition.cpp
│ ├── setSimpleRotation.cpp
│ ├── simplePosition.cpp
│ ├── simpleRotation.cpp
│ ├── src
│ └── scene.h
│ └── textureImageScene.cpp
├── generate
├── libs
├── OpenSceneGraph
│ ├── CMakeLists.txt
│ ├── include
│ │ ├── android
│ │ │ ├── OpenThreads
│ │ │ │ ├── Config
│ │ │ │ └── Version
│ │ │ └── osg
│ │ │ │ ├── Config
│ │ │ │ ├── GL
│ │ │ │ └── Version
│ │ ├── ios
│ │ │ ├── OpenThreads
│ │ │ │ ├── Config
│ │ │ │ └── Version
│ │ │ ├── gen
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── gen.cpp
│ │ │ └── osg
│ │ │ │ ├── Config
│ │ │ │ ├── GL
│ │ │ │ └── Version
│ │ ├── linux
│ │ │ ├── OpenThreads
│ │ │ │ ├── Config
│ │ │ │ └── Version
│ │ │ └── osg
│ │ │ │ ├── Config
│ │ │ │ ├── GL
│ │ │ │ └── Version
│ │ ├── macos
│ │ │ ├── OpenThreads
│ │ │ │ ├── Config
│ │ │ │ └── Version
│ │ │ └── osg
│ │ │ │ ├── Config
│ │ │ │ ├── GL
│ │ │ │ └── Version
│ │ └── web
│ │ │ ├── OpenThreads
│ │ │ ├── Config
│ │ │ └── Version
│ │ │ ├── gen
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ │ └── osg
│ │ │ ├── Config
│ │ │ ├── GL
│ │ │ └── Version
│ ├── src-ios
│ │ ├── OpenThreads.mm
│ │ ├── osg-01.mm
│ │ ├── osg-02.mm
│ │ ├── osg-03.mm
│ │ ├── osgDB.mm
│ │ ├── osgGA.mm
│ │ ├── osgUtil.mm
│ │ ├── osgViewer.mm
│ │ ├── osgdb_imageio.mm
│ │ ├── osgdb_osg.mm
│ │ ├── osgdb_serializers_osg-Drawable.mm
│ │ ├── osgdb_serializers_osg-Geode.mm
│ │ ├── osgdb_serializers_osg-Geometry.mm
│ │ ├── osgdb_serializers_osg-Group.mm
│ │ ├── osgdb_serializers_osg-LibraryWrapper.mm
│ │ ├── osgdb_serializers_osg-MatrixTransform.mm
│ │ ├── osgdb_serializers_osg-Node.mm
│ │ ├── osgdb_serializers_osg-Object.mm
│ │ └── osgdb_serializers_osg-Transform.mm
│ └── src
│ │ ├── OpenThreads.cpp
│ │ ├── osg-01.cpp
│ │ ├── osg-02.cpp
│ │ ├── osg-03.cpp
│ │ ├── osgDB.cpp
│ │ ├── osgDB.mm
│ │ ├── osgGA.cpp
│ │ ├── osgUtil.cpp
│ │ ├── osgViewer-linux.cpp
│ │ ├── osgViewer-macos.mm
│ │ ├── osgViewer.cpp
│ │ ├── osgdb_imageio.cpp
│ │ ├── osgdb_osg.cpp
│ │ ├── osgdb_png.cpp
│ │ ├── osgdb_serializers_osg-Drawable.cpp
│ │ ├── osgdb_serializers_osg-Geode.cpp
│ │ ├── osgdb_serializers_osg-Geometry.cpp
│ │ ├── osgdb_serializers_osg-Group.cpp
│ │ ├── osgdb_serializers_osg-LibraryWrapper.cpp
│ │ ├── osgdb_serializers_osg-MatrixTransform.cpp
│ │ ├── osgdb_serializers_osg-Node.cpp
│ │ ├── osgdb_serializers_osg-Object.cpp
│ │ └── osgdb_serializers_osg-Transform.cpp
├── json-android
│ ├── CMakeLists.txt
│ └── include
│ │ └── nlohmann
│ │ └── json.hpp
├── libpng-android
│ ├── CMakeLists.txt
│ └── src
│ │ └── libpng.cpp
└── mongoose
│ ├── CMakeLists.txt
│ └── mongoose.cpp
├── readme
├── shot-android.png
├── shot-desktop.png
├── shot-ios.png
└── shot-web.png
└── tools
├── create-serializers
├── emscripten-arguments
├── emscripten-fullpage
└── patch-openscenegraph
/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 | # Mac.
3 | .DS_Store
4 | # Xcode.
5 | *.xcuserdatad
6 | IDEWorkspaceChecks.plist
7 | # Android Studio.
8 | build
9 | .gradle
10 | .idea
11 | .externalNativeBuild
12 | local.properties
13 | # Ignore NodeJS files.
14 | package-lock.json
15 |
16 | # Ignore VIM temporary files.
17 | *.swp
18 |
--------------------------------------------------------------------------------
/01.EmbedResource/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # NOTE This is a common CMakeLists.txt to be included by each platform's
2 | # NOTE specific CMakeLists.txt.
3 | # This CMakeLists.txt requires the following variables:
4 | # * OSGCPE_DIR
5 | # This CMakeLists.txt provides the following variables outside:
6 | # * EXAMPLE_BINARY_NAME
7 | # * OSGCPE_LINK_LIBS
8 |
9 | PROJECT(EX01_EMBED_RESOURCE)
10 | SET(EXAMPLE_BINARY_NAME "ex01-embed-resource")
11 |
12 | # Use C++11.
13 | ADD_DEFINITIONS("-std=c++11")
14 |
15 | # Build OpenSceneGraph statically.
16 | INCLUDE(${OSGCPE_DIR}/libs/OpenSceneGraph/CMakeLists.txt)
17 |
18 | # Reference resources.
19 | INCLUDE_DIRECTORIES(${OSGCPE_DIR}/data)
20 |
21 | # Provide libraries to link with.
22 | SET(
23 | OSGCPE_LINK_LIBS
24 | osgViewer
25 | osgUtil
26 | osgDB
27 | # osgDB plugins start.
28 | osgdb_osg
29 | osgdb_serializers_osg
30 | # osgDB plugins end.
31 | osgGA
32 | osg
33 | OpenThreads
34 | )
35 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/.hgignore:
--------------------------------------------------------------------------------
1 | syntax: glob
2 | # Mac.
3 | .DS_Store
4 |
5 | # Android.
6 | build
7 | .gradle
8 | .idea
9 | .externalNativeBuild
10 | local.properties
11 |
12 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | CMAKE_MINIMUM_REQUIRED(VERSION 3.4)
2 |
3 | SET(OSGCPE_DIR "${CMAKE_SOURCE_DIR}/../../../../openscenegraph-cross-platform-examples")
4 |
5 | # Include common CMakeLists.txt.
6 | INCLUDE(${CMAKE_SOURCE_DIR}/../../CMakeLists.txt)
7 |
8 | # Reference sources.
9 | INCLUDE_DIRECTORIES(src/main/cpp)
10 | # Create native library.
11 | ADD_LIBRARY(library SHARED src/main/cpp/library.cpp)
12 |
13 | FIND_LIBRARY(log-lib log)
14 |
15 | # Link native library with libraries.
16 | TARGET_LINK_LIBRARIES(
17 | library
18 | ${log-lib}
19 | ${OSGCPE_LINK_LIBS}
20 | )
21 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
13 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/cpp/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | Application
3 | Application+Logging
4 | Application+Rendering
5 | Application+frame
6 | Application+setupWindow-embedded
7 |
8 | MAIN_EXAMPLE_LOG
9 | Example
10 | Example+01
11 | Example+BoxScene
12 | Example+SingleColorScene
13 | Example+StaticPluginOSG
14 | Example+VBO
15 |
16 | library-android
17 | library+init-android
18 | library+frame-android
19 | library+Ex01+JNI-android
20 |
21 | # log
22 | Logger
23 | log-android
24 | logLevelToString
25 | logprintf
26 |
27 | # format
28 | printfString
29 |
30 | # resource
31 | RESOURCE_LOG
32 | Resource
33 | ResourceStreamBuffer
34 | extension
35 | node
36 |
37 | # render
38 | VBOSetupVisitor
39 | createShaderProgram
40 |
41 | # scene
42 | paintScene
43 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/java/Features.txt:
--------------------------------------------------------------------------------
1 | Ex01
2 | EGLview
3 | RendererDelegate
4 | MainActivity
5 | MainActivity+library+init
6 | MainActivity+library+frame
7 | library
8 | library+init
9 | library+frame
10 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/01.EmbedResource/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/01.EmbedResource/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/01.EmbedResource/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/01.EmbedResource/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/01.EmbedResource/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/01.EmbedResource/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/01.EmbedResource/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/01.EmbedResource/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/01.EmbedResource/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/01.EmbedResource/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ex01
3 |
4 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 |
5 | repositories {
6 | google()
7 | jcenter()
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:3.0.1'
11 |
12 |
13 | // NOTE: Do not place your application dependencies here; they belong
14 | // in the individual module build.gradle files
15 | }
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | google()
21 | jcenter()
22 | }
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
28 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/01.EmbedResource/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/01.EmbedResource/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Apr 02 11:56:09 MSK 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/01.EmbedResource/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/01.EmbedResource/desktop/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2 |
3 | SET(OSGCPE_DIR "${CMAKE_SOURCE_DIR}/../../../openscenegraph-cross-platform-examples")
4 |
5 | # Include common CMakeLists.txt.
6 | INCLUDE(${CMAKE_SOURCE_DIR}/../CMakeLists.txt)
7 |
8 | # Reference sources.
9 | INCLUDE_DIRECTORIES(src)
10 | # Create executable.
11 | ADD_EXECUTABLE(${EXAMPLE_BINARY_NAME} src/main.cpp)
12 |
13 | # Link executable with libraries.
14 | TARGET_LINK_LIBRARIES(
15 | ${EXAMPLE_BINARY_NAME}
16 | ${OSGCPE_LINK_LIBS}
17 | )
18 |
--------------------------------------------------------------------------------
/01.EmbedResource/desktop/src/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | Application
3 | Application+Logging
4 | Application+Rendering
5 | Application+frame
6 | Application+run
7 | Application+setupWindow-desktop
8 |
9 | MAIN_EXAMPLE_LOG
10 | Example
11 | Example+01
12 | Example+BoxScene
13 | Example+SingleColorScene
14 | Example+StaticPluginOSG
15 |
16 | main-desktop
17 |
18 | # log
19 | Logger
20 | log-default
21 | logLevelToString
22 | logprintf
23 |
24 | # format
25 | printfString
26 |
27 | # resource
28 | RESOURCE_LOG
29 | Resource
30 | ResourceStreamBuffer
31 | extension
32 | node
33 |
34 | # render
35 | createGraphicsContext-desktop
36 | createShaderProgram
37 | setupCamera
38 |
39 | # scene
40 | paintScene
41 |
--------------------------------------------------------------------------------
/01.EmbedResource/ios/ex01.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/01.EmbedResource/ios/ex01.xcodeproj/xcuserdata/kornerr.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | ex01.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 | mjin-player.xcscheme
13 |
14 | orderHint
15 | 0
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/01.EmbedResource/ios/src/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/01.EmbedResource/ios/src/Features.txt:
--------------------------------------------------------------------------------
1 | # ios
2 | AppDelegate
3 | AppDelegate+RenderVC
4 | RenderVC
5 | RenderVC+FrameReporting
6 |
7 | # main
8 | Application
9 | Application+Logging
10 | Application+Rendering
11 | Application+frame
12 | Application+setupWindow-ios
13 |
14 | MAIN_EXAMPLE_LOG
15 | Example
16 | Example+01
17 | Example+BoxScene
18 | Example+SingleColorScene
19 | Example+StaticPluginOSG
20 | Example+VBO
21 |
22 | library-ios
23 | library+init-ios
24 | library+frame-ios
25 |
26 | # log
27 | Logger
28 | log-default
29 | logLevelToString
30 | logprintf
31 |
32 | # format
33 | printfString
34 |
35 | # resource
36 | RESOURCE_LOG
37 | Resource
38 | ResourceStreamBuffer
39 | extension
40 | node
41 |
42 | # render
43 | VBOSetupVisitor
44 | createGraphicsContext-ios
45 | createShaderProgram
46 | setupCamera
47 |
48 | # scene
49 | paintScene
50 |
--------------------------------------------------------------------------------
/01.EmbedResource/ios/src/library.mm:
--------------------------------------------------------------------------------
1 | #include "library.cpp"
2 |
--------------------------------------------------------------------------------
/01.EmbedResource/shot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/01.EmbedResource/shot.png
--------------------------------------------------------------------------------
/01.EmbedResource/web/src/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | MAIN_APPLICATION_LOG
3 | Application
4 | Application+Logging
5 | Application+Rendering
6 | Application+frame
7 | Application+setupWindow-embedded
8 | Application+setupWindow-web
9 |
10 | MAIN_EXAMPLE_LOG
11 | Example
12 | Example+01
13 | Example+BoxScene
14 | Example+SingleColorScene
15 | Example+StaticPluginOSG
16 | Example+VBO
17 |
18 | main-web
19 |
20 | # log
21 | Logger
22 | log-default
23 | logLevelToString
24 | logprintf
25 |
26 | # format
27 | printfString
28 |
29 | # resource
30 | RESOURCE_LOG
31 | Resource
32 | ResourceStreamBuffer
33 | extension
34 | node
35 |
36 | # render
37 | VBOSetupVisitor
38 | createShaderProgram
39 | setupCamera
40 |
41 | # scene
42 | paintScene
43 |
--------------------------------------------------------------------------------
/02.TextureImage/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # NOTE This is a common CMakeLists.txt to be included by each platform's
2 | # NOTE specific CMakeLists.txt.
3 | # This CMakeLists.txt requires the following variables:
4 | # * OSGCPE_DIR
5 | # This CMakeLists.txt provides the following variables outside:
6 | # * EXAMPLE_BINARY_NAME
7 | # * OSGCPE_LINK_LIBS
8 |
9 | PROJECT(EX02_TEXTURE_IMAGE)
10 | SET(EXAMPLE_BINARY_NAME "ex02-texture-image")
11 |
12 | # Use C++11.
13 | ADD_DEFINITIONS("-std=c++11")
14 |
15 | # Build OpenSceneGraph statically.
16 | INCLUDE(${OSGCPE_DIR}/libs/OpenSceneGraph/CMakeLists.txt)
17 |
18 | # Reference resources.
19 | INCLUDE_DIRECTORIES(${OSGCPE_DIR}/data)
20 |
21 | # Provide libraries to link with.
22 | SET(
23 | OSGCPE_LINK_LIBS
24 | osgViewer
25 | osgUtil
26 | osgDB
27 | # osgDB plugins start.
28 | osgdb_osg
29 | osgdb_serializers_osg
30 | # osgDB plugins end.
31 | osgGA
32 | osg
33 | OpenThreads
34 | )
35 |
--------------------------------------------------------------------------------
/02.TextureImage/android/android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/02.TextureImage/android/app/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | CMAKE_MINIMUM_REQUIRED(VERSION 3.4)
2 |
3 | SET(OSGCPE_DIR "${CMAKE_SOURCE_DIR}/../../../../openscenegraph-cross-platform-examples")
4 |
5 | # Include common CMakeLists.txt.
6 | INCLUDE(${CMAKE_SOURCE_DIR}/../../CMakeLists.txt)
7 | # Include lipng-android CMakeLists.txt.
8 | INCLUDE(${OSGCPE_DIR}/libs/libpng-android/CMakeLists.txt)
9 |
10 | # Reference sources.
11 | INCLUDE_DIRECTORIES(src/main/cpp)
12 | # Create native library.
13 | ADD_LIBRARY(library SHARED src/main/cpp/library.cpp)
14 |
15 | FIND_LIBRARY(log-lib log)
16 | SET(IMAGE_LINK_LIBS "osgdb_png" "png")
17 |
18 | # Link native library with libraries.
19 | TARGET_LINK_LIBRARIES(
20 | library
21 | ${log-lib}
22 | ${OSGCPE_LINK_LIBS}
23 | ${IMAGE_LINK_LIBS}
24 | )
25 |
--------------------------------------------------------------------------------
/02.TextureImage/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
13 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/cpp/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | Application
3 | Application+Logging
4 | Application+Rendering
5 | Application+frame
6 | Application+setupWindow-embedded
7 |
8 | MAIN_EXAMPLE_LOG
9 | Example
10 | Example+02
11 | Example+BoxScene
12 | Example+StaticPluginOSG
13 | Example+StaticPluginPNG
14 | Example+TextureImageScene
15 | Example+VBO
16 |
17 | library+Ex02+JNI-android
18 |
19 | library-android
20 | library+init-android
21 | library+frame-android
22 |
23 | # log
24 | Logger
25 | log-android
26 | logLevelToString
27 | logprintf
28 |
29 | # format
30 | printfString
31 |
32 | # resource
33 | RESOURCE_LOG
34 | Resource
35 | ResourceStreamBuffer
36 | createTexture
37 | extension
38 | node
39 | setTextureImage
40 | string
41 |
42 | # render
43 | VBOSetupVisitor
44 | createShaderProgram
45 |
46 | # scene
47 | textureImageScene
48 |
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/java/Features.txt:
--------------------------------------------------------------------------------
1 | Ex02
2 | EGLview
3 | RendererDelegate
4 | MainActivity
5 | MainActivity+library+init
6 | MainActivity+library+frame
7 | library
8 | library+init
9 | library+frame
10 |
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/02.TextureImage/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/02.TextureImage/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/02.TextureImage/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/02.TextureImage/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/02.TextureImage/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/02.TextureImage/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/02.TextureImage/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/02.TextureImage/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/02.TextureImage/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/02.TextureImage/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ex02
3 |
4 |
--------------------------------------------------------------------------------
/02.TextureImage/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/02.TextureImage/android/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 |
5 | repositories {
6 | google()
7 | jcenter()
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:3.0.1'
11 |
12 |
13 | // NOTE: Do not place your application dependencies here; they belong
14 | // in the individual module build.gradle files
15 | }
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | google()
21 | jcenter()
22 | }
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
28 |
--------------------------------------------------------------------------------
/02.TextureImage/android/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
--------------------------------------------------------------------------------
/02.TextureImage/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/02.TextureImage/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/02.TextureImage/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Apr 02 11:56:09 MSK 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/02.TextureImage/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/02.TextureImage/desktop/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2 |
3 | SET(OSGCPE_DIR "${CMAKE_SOURCE_DIR}/../../../openscenegraph-cross-platform-examples")
4 |
5 | # Include common CMakeLists.txt.
6 | INCLUDE(${CMAKE_SOURCE_DIR}/../CMakeLists.txt)
7 |
8 | # Reference sources.
9 | INCLUDE_DIRECTORIES(src)
10 | # Create executable.
11 | ADD_EXECUTABLE(${EXAMPLE_BINARY_NAME} src/main.cpp)
12 |
13 | # Use ImageIO for macOS.
14 | IF (${OSG_PLATFORM} STREQUAL "macos")
15 | SET(IMAGE_LINK_LIBS "osgdb_imageio")
16 | # Use libpng for Linux and Windows.
17 | ELSE ()
18 | SET(IMAGE_LINK_LIBS "osgdb_png" "png")
19 | ENDIF ()
20 |
21 | # Link executable with libraries.
22 | TARGET_LINK_LIBRARIES(
23 | ${EXAMPLE_BINARY_NAME}
24 | ${OSGCPE_LINK_LIBS}
25 | ${IMAGE_LINK_LIBS}
26 | )
27 |
--------------------------------------------------------------------------------
/02.TextureImage/desktop/src/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | Application
3 | Application+Logging
4 | Application+Rendering
5 | Application+frame
6 | Application+run
7 | Application+setupWindow-desktop
8 |
9 | MAIN_EXAMPLE_LOG
10 | Example
11 | Example+02
12 | Example+BoxScene
13 | Example+StaticPluginOSG
14 | Example+StaticPluginPNG
15 | Example+TextureImageScene
16 |
17 | main-desktop
18 |
19 | # log
20 | Logger
21 | log-default
22 | logLevelToString
23 | logprintf
24 |
25 | # format
26 | printfString
27 |
28 | # resource
29 | RESOURCE_LOG
30 | Resource
31 | ResourceStreamBuffer
32 | createTexture
33 | extension
34 | node
35 | setTextureImage
36 | string
37 |
38 | # render
39 | createGraphicsContext-desktop
40 | createShaderProgram
41 | setupCamera
42 |
43 | # scene
44 | textureImageScene
45 |
--------------------------------------------------------------------------------
/02.TextureImage/ios/ex02.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/02.TextureImage/ios/src/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/02.TextureImage/ios/src/Features.txt:
--------------------------------------------------------------------------------
1 | # ios
2 | AppDelegate
3 | AppDelegate+RenderVC
4 | RenderVC
5 | RenderVC+FrameReporting
6 |
7 | # main
8 | Application
9 | Application+Logging
10 | Application+Rendering
11 | Application+frame
12 | Application+setupWindow-ios
13 |
14 | MAIN_EXAMPLE_LOG
15 | Example
16 | Example+02
17 | Example+BoxScene
18 | Example+StaticPluginOSG
19 | Example+StaticPluginPNG
20 | Example+TextureImageScene
21 | Example+VBO
22 |
23 | library-ios
24 | library+init-ios
25 | library+frame-ios
26 |
27 | # log
28 | Logger
29 | log-default
30 | logLevelToString
31 | logprintf
32 |
33 | # format
34 | printfString
35 |
36 | # resource
37 | RESOURCE_LOG
38 | Resource
39 | ResourceStreamBuffer
40 | createTexture
41 | extension
42 | node
43 | setTextureImage
44 | string
45 |
46 | # render
47 | VBOSetupVisitor
48 | createGraphicsContext-ios
49 | createShaderProgram
50 | setupCamera
51 |
52 | # scene
53 | textureImageScene
54 |
--------------------------------------------------------------------------------
/02.TextureImage/ios/src/library.mm:
--------------------------------------------------------------------------------
1 | #include "library.cpp"
2 |
--------------------------------------------------------------------------------
/02.TextureImage/shot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/02.TextureImage/shot.png
--------------------------------------------------------------------------------
/02.TextureImage/web/src/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | MAIN_APPLICATION_LOG
3 | Application
4 | Application+Logging
5 | Application+Rendering
6 | Application+frame
7 | Application+setupWindow-embedded
8 | Application+setupWindow-web
9 |
10 | MAIN_EXAMPLE_LOG
11 | Example
12 | Example+02
13 | Example+BoxScene
14 | Example+StaticPluginOSG
15 | Example+StaticPluginPNG
16 | Example+TextureImageScene
17 | Example+VBO
18 |
19 | main-web
20 |
21 | # log
22 | Logger
23 | log-default
24 | logLevelToString
25 | logprintf
26 |
27 | # format
28 | printfString
29 |
30 | # resource
31 | RESOURCE_LOG
32 | createTexture
33 | extension
34 | node
35 | setTextureImage
36 | string
37 | Resource
38 | ResourceStreamBuffer
39 |
40 | # render
41 | createShaderProgram
42 | setupCamera
43 | VBOSetupVisitor
44 |
45 | # scene
46 | textureImageScene
47 |
--------------------------------------------------------------------------------
/03.HTTPClient/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # NOTE This is a common CMakeLists.txt to be included by each platform's
2 | # NOTE specific CMakeLists.txt.
3 | # This CMakeLists.txt requires the following variables:
4 | # * OSGCPE_DIR
5 | # This CMakeLists.txt provides the following variables outside:
6 | # * EXAMPLE_BINARY_NAME
7 | # * OSGCPE_LINK_LIBS
8 |
9 | PROJECT(EX03_HTTP_CLIENT)
10 | SET(EXAMPLE_BINARY_NAME "ex03-http-client")
11 |
12 | # Use C++11.
13 | ADD_DEFINITIONS("-std=c++11")
14 |
15 | # Build OpenSceneGraph statically.
16 | INCLUDE(${OSGCPE_DIR}/libs/OpenSceneGraph/CMakeLists.txt)
17 |
18 | # Reference resources.
19 | INCLUDE_DIRECTORIES(${OSGCPE_DIR}/data)
20 |
21 | # Provide libraries to link with.
22 | SET(
23 | OSGCPE_LINK_LIBS
24 | osgViewer
25 | osgUtil
26 | osgDB
27 | # osgDB plugins start.
28 | osgdb_osg
29 | osgdb_serializers_osg
30 | # osgDB plugins end.
31 | osgGA
32 | osg
33 | OpenThreads
34 | )
35 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | CMAKE_MINIMUM_REQUIRED(VERSION 3.4)
2 |
3 | SET(OSGCPE_DIR "${CMAKE_SOURCE_DIR}/../../../../openscenegraph-cross-platform-examples")
4 |
5 | # Include common CMakeLists.txt.
6 | INCLUDE(${CMAKE_SOURCE_DIR}/../../CMakeLists.txt)
7 | # Include lipng-android CMakeLists.txt.
8 | INCLUDE(${OSGCPE_DIR}/libs/libpng-android/CMakeLists.txt)
9 |
10 | # Reference sources.
11 | INCLUDE_DIRECTORIES(src/main/cpp)
12 | # Create native library.
13 | ADD_LIBRARY(library SHARED src/main/cpp/library.cpp)
14 |
15 | FIND_LIBRARY(log-lib log)
16 | SET(IMAGE_LINK_LIBS "osgdb_png" "png")
17 |
18 | # Link native library with libraries.
19 | TARGET_LINK_LIBRARIES(
20 | library
21 | ${log-lib}
22 | ${OSGCPE_LINK_LIBS}
23 | ${IMAGE_LINK_LIBS}
24 | )
25 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
14 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/cpp/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | Application
3 | Application+HTTPClient
4 | Application+Logging
5 | Application+Rendering
6 | Application+camera
7 | Application+frame+Reporting
8 | Application+setupWindow-embedded
9 |
10 | MAIN_EXAMPLE_LOG
11 | Example
12 | Example+03
13 | Example+BoxScene
14 | Example+HTTPSGetPost
15 | Example+StaticPluginOSG
16 | Example+StaticPluginPNG
17 | Example+TextureImageScene
18 | Example+VBO
19 |
20 | library+Ex03+JNI-android
21 |
22 | library-android
23 | library+init-android
24 | library+frame-android
25 | library+httpClient-android
26 | library+jniStrings-android
27 |
28 | # core
29 | Reporter
30 |
31 | # log
32 | Logger
33 | log-android
34 | logLevelToString
35 | logprintf
36 |
37 | # format
38 | printfString
39 |
40 | # resource
41 | RESOURCE_LOG
42 | Resource
43 | ResourceStreamBuffer
44 | createTexture
45 | extension
46 | node
47 | setTextureImage
48 | string
49 |
50 | # render
51 | VBOSetupVisitor
52 | createShaderProgram
53 |
54 | # scene
55 | textureImageScene
56 |
57 | # network
58 | HTTPClient
59 | HTTPRequest
60 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/java/Features.txt:
--------------------------------------------------------------------------------
1 | Ex03
2 | EGLview
3 | HTTPClientProcessor
4 | HTTPRequest
5 | HTTPRequestDelegate
6 | MainActivity
7 | MainActivity+library+init
8 | MainActivity+library+frame
9 | MainActivity+HTTPClientProcessor
10 | RendererDelegate
11 | library
12 | library+init
13 | library+frame
14 | library+httpClient
15 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/03.HTTPClient/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/03.HTTPClient/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/03.HTTPClient/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/03.HTTPClient/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/03.HTTPClient/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/03.HTTPClient/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/03.HTTPClient/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/03.HTTPClient/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/03.HTTPClient/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/03.HTTPClient/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ex03
3 |
4 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 |
5 | repositories {
6 | google()
7 | jcenter()
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:3.0.1'
11 |
12 |
13 | // NOTE: Do not place your application dependencies here; they belong
14 | // in the individual module build.gradle files
15 | }
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | google()
21 | jcenter()
22 | }
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
28 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/03.HTTPClient/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/03.HTTPClient/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Apr 02 11:56:09 MSK 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/03.HTTPClient/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/03.HTTPClient/desktop/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2 |
3 | SET(OSGCPE_DIR "${CMAKE_SOURCE_DIR}/../../../openscenegraph-cross-platform-examples")
4 |
5 | # Include common CMakeLists.txt.
6 | INCLUDE(${CMAKE_SOURCE_DIR}/../CMakeLists.txt)
7 |
8 | # Build mongoose statically.
9 | INCLUDE(${OSGCPE_DIR}/libs/mongoose/CMakeLists.txt)
10 |
11 | # Reference sources.
12 | INCLUDE_DIRECTORIES(src)
13 | # Create executable.
14 | ADD_EXECUTABLE(${EXAMPLE_BINARY_NAME} src/main.cpp)
15 |
16 | # Use ImageIO for macOS.
17 | IF (${OSG_PLATFORM} STREQUAL "macos")
18 | SET(IMAGE_LINK_LIBS "osgdb_imageio")
19 | # Use libpng for Linux and Windows.
20 | ELSE ()
21 | SET(IMAGE_LINK_LIBS "osgdb_png" "png")
22 | ENDIF ()
23 |
24 | # Link executable with libraries.
25 | TARGET_LINK_LIBRARIES(
26 | ${EXAMPLE_BINARY_NAME}
27 | ${OSGCPE_LINK_LIBS}
28 | ${IMAGE_LINK_LIBS}
29 | mongoose
30 | )
31 |
--------------------------------------------------------------------------------
/03.HTTPClient/desktop/src/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | Application
3 | Application+HTTPClient
4 | Application+HTTPClientProcessor
5 | Application+Logging
6 | Application+Rendering
7 | Application+camera
8 | Application+frame+Reporting
9 | Application+run
10 | Application+setupWindow-desktop
11 |
12 | MAIN_EXAMPLE_LOG
13 | Example
14 | Example+03
15 | Example+BoxScene
16 | Example+HTTPSGetPost
17 | Example+StaticPluginOSG
18 | Example+StaticPluginPNG
19 | Example+TextureImageScene
20 |
21 | main-desktop
22 |
23 | # core
24 | Reporter
25 |
26 | # log
27 | Logger
28 | log-default
29 | logLevelToString
30 | logprintf
31 |
32 | # format
33 | printfString
34 |
35 | # resource
36 | RESOURCE_LOG
37 | Resource
38 | ResourceStreamBuffer
39 | createTexture
40 | extension
41 | node
42 | setTextureImage
43 | string
44 |
45 | # render
46 | createGraphicsContext-desktop
47 | createShaderProgram
48 | setupCamera
49 |
50 | # scene
51 | textureImageScene
52 |
53 | # network
54 | HTTPClient
55 | HTTPClientProcessor
56 | HTTPRequest
57 | HTTPRequestProcessorMongoose
58 | mongoose
59 |
--------------------------------------------------------------------------------
/03.HTTPClient/ios/ex03.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/03.HTTPClient/ios/src/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/03.HTTPClient/ios/src/Features.txt:
--------------------------------------------------------------------------------
1 | # ios
2 | AppDelegate
3 | AppDelegate+HTTPClientProcessor-ios
4 | AppDelegate+RenderVC
5 | HTTPClientProcessor-ios
6 | RenderVC
7 | RenderVC+FrameReporting
8 |
9 | # main
10 | Application
11 | Application+HTTPClient
12 | Application+Logging
13 | Application+Rendering
14 | Application+camera
15 | Application+frame+Reporting
16 | Application+setupWindow-ios
17 |
18 | MAIN_EXAMPLE_LOG
19 | Example
20 | Example+03
21 | Example+BoxScene
22 | Example+HTTPSGetPost
23 | Example+StaticPluginOSG
24 | Example+StaticPluginPNG
25 | Example+TextureImageScene
26 | Example+VBO
27 |
28 | library-ios
29 | library+init-ios
30 | library+frame-ios
31 | library+httpClient-ios
32 |
33 | # core
34 | Reporter
35 |
36 | # log
37 | Logger
38 | log-default
39 | logLevelToString
40 | logprintf
41 |
42 | # format
43 | printfString
44 |
45 | # resource
46 | RESOURCE_LOG
47 | Resource
48 | ResourceStreamBuffer
49 | createTexture
50 | extension
51 | node
52 | setTextureImage
53 | string
54 |
55 | # render
56 | VBOSetupVisitor
57 | createGraphicsContext-ios
58 | createShaderProgram
59 | setupCamera
60 |
61 | # scene
62 | textureImageScene
63 |
64 | # network
65 | HTTPClient
66 | HTTPRequest
67 |
--------------------------------------------------------------------------------
/03.HTTPClient/ios/src/library.mm:
--------------------------------------------------------------------------------
1 | #include "library.cpp"
2 |
--------------------------------------------------------------------------------
/03.HTTPClient/shot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/03.HTTPClient/shot.png
--------------------------------------------------------------------------------
/03.HTTPClient/web/src/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | MAIN_APPLICATION_LOG
3 | Application
4 | Application+HTTPClient
5 | Application+HTTPClientProcessor
6 | Application+Logging
7 | Application+Rendering
8 | Application+camera
9 | Application+frame+Reporting
10 | Application+setupWindow-embedded
11 | Application+setupWindow-web
12 |
13 | MAIN_EXAMPLE_LOG
14 | Example
15 | Example+03
16 | Example+BoxScene
17 | Example+HTTPSGetPost
18 | Example+StaticPluginOSG
19 | Example+StaticPluginPNG
20 | Example+TextureImageScene
21 | Example+VBO
22 |
23 | main-web
24 |
25 | # core
26 | Reporter
27 |
28 | # log
29 | Logger
30 | log-default
31 | logLevelToString
32 | logprintf
33 |
34 | # format
35 | printfString
36 |
37 | # resource
38 | RESOURCE_LOG
39 | Resource
40 | ResourceStreamBuffer
41 | createTexture
42 | extension
43 | node
44 | setTextureImage
45 | string
46 |
47 | # render
48 | VBOSetupVisitor
49 | createShaderProgram
50 | setupCamera
51 |
52 | # scene
53 | textureImageScene
54 |
55 | # network
56 | HTTPClient
57 | HTTPClientProcessor
58 | HTTPRequest
59 | HTTPRequestProcessorFetch
60 | fetch
61 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # NOTE This is a common CMakeLists.txt to be included by each platform's
2 | # NOTE specific CMakeLists.txt.
3 | # This CMakeLists.txt requires the following variables:
4 | # * OSGCPE_DIR
5 | # This CMakeLists.txt provides the following variables outside:
6 | # * EXAMPLE_BINARY_NAME
7 | # * OSGCPE_LINK_LIBS
8 |
9 | PROJECT(EX04_REMOTE_DEBUGGING)
10 | SET(EXAMPLE_BINARY_NAME "ex04-remote-debugging")
11 |
12 | # Use C++11.
13 | ADD_DEFINITIONS("-std=c++11")
14 |
15 | # Build OpenSceneGraph statically.
16 | INCLUDE(${OSGCPE_DIR}/libs/OpenSceneGraph/CMakeLists.txt)
17 |
18 | # Reference resources.
19 | INCLUDE_DIRECTORIES(${OSGCPE_DIR}/data)
20 |
21 | # Provide libraries to link with.
22 | SET(
23 | OSGCPE_LINK_LIBS
24 | osgViewer
25 | osgUtil
26 | osgDB
27 | # osgDB plugins start.
28 | osgdb_osg
29 | osgdb_serializers_osg
30 | # osgDB plugins end.
31 | osgGA
32 | osg
33 | OpenThreads
34 | )
35 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | CMAKE_MINIMUM_REQUIRED(VERSION 3.4)
2 |
3 | SET(OSGCPE_DIR "${CMAKE_SOURCE_DIR}/../../../../openscenegraph-cross-platform-examples")
4 |
5 | # Include common CMakeLists.txt.
6 | INCLUDE(${CMAKE_SOURCE_DIR}/../../CMakeLists.txt)
7 | # Include libpng-android CMakeLists.txt.
8 | INCLUDE(${OSGCPE_DIR}/libs/libpng-android/CMakeLists.txt)
9 |
10 | # Reference Android variant of NLohmann's JSON parsing library.
11 | INCLUDE(${OSGCPE_DIR}/libs/json-android/CMakeLists.txt)
12 |
13 | # Reference sources.
14 | INCLUDE_DIRECTORIES(src/main/cpp)
15 | # Create native library.
16 | ADD_LIBRARY(library SHARED src/main/cpp/library.cpp)
17 |
18 | FIND_LIBRARY(log-lib log)
19 | SET(IMAGE_LINK_LIBS "osgdb_png" "png")
20 |
21 | # Link native library with libraries.
22 | TARGET_LINK_LIBRARIES(
23 | library
24 | ${log-lib}
25 | ${OSGCPE_LINK_LIBS}
26 | ${IMAGE_LINK_LIBS}
27 | )
28 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
14 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/java/Features.txt:
--------------------------------------------------------------------------------
1 | Ex04
2 | EGLview
3 | HTTPClientProcessor
4 | HTTPRequest
5 | HTTPRequestDelegate
6 | MainActivity
7 | MainActivity+library+init
8 | MainActivity+library+frame
9 | MainActivity+HTTPClientProcessor
10 | RendererDelegate
11 | library
12 | library+init
13 | library+frame
14 | library+httpClient
15 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/04.RemoteDebugging/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/04.RemoteDebugging/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/04.RemoteDebugging/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/04.RemoteDebugging/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/04.RemoteDebugging/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/04.RemoteDebugging/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/04.RemoteDebugging/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/04.RemoteDebugging/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/04.RemoteDebugging/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/04.RemoteDebugging/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ex04
3 |
4 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 |
5 | repositories {
6 | google()
7 | jcenter()
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:3.0.1'
11 |
12 |
13 | // NOTE: Do not place your application dependencies here; they belong
14 | // in the individual module build.gradle files
15 | }
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | google()
21 | jcenter()
22 | }
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
28 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/04.RemoteDebugging/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Apr 02 11:56:09 MSK 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/desktop/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2 |
3 | SET(OSGCPE_DIR "${CMAKE_SOURCE_DIR}/../../../openscenegraph-cross-platform-examples")
4 |
5 | # Include common CMakeLists.txt.
6 | INCLUDE(${CMAKE_SOURCE_DIR}/../CMakeLists.txt)
7 |
8 | # Build mongoose statically.
9 | INCLUDE(${OSGCPE_DIR}/libs/mongoose/CMakeLists.txt)
10 | # Reference NLohmann's JSON parsing library.
11 | INCLUDE_DIRECTORIES(${OSGCPE_DIR}/../json/single_include)
12 |
13 | # Reference sources.
14 | INCLUDE_DIRECTORIES(src)
15 | # Create executable.
16 | ADD_EXECUTABLE(${EXAMPLE_BINARY_NAME} src/main.cpp)
17 |
18 | # Use ImageIO for macOS.
19 | IF (${OSG_PLATFORM} STREQUAL "macos")
20 | SET(IMAGE_LINK_LIBS "osgdb_imageio")
21 | # Use libpng for Linux and Windows.
22 | ELSE ()
23 | SET(IMAGE_LINK_LIBS "osgdb_png" "png")
24 | ENDIF ()
25 |
26 | # Link executable with libraries.
27 | TARGET_LINK_LIBRARIES(
28 | ${EXAMPLE_BINARY_NAME}
29 | ${OSGCPE_LINK_LIBS}
30 | ${IMAGE_LINK_LIBS}
31 | mongoose
32 | )
33 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/ios/ex04.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/ios/src/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/04.RemoteDebugging/ios/src/library.mm:
--------------------------------------------------------------------------------
1 | #include "library.cpp"
2 |
--------------------------------------------------------------------------------
/04.RemoteDebugging/shot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/04.RemoteDebugging/shot.png
--------------------------------------------------------------------------------
/05.NodeSelection/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # NOTE This is a common CMakeLists.txt to be included by each platform's
2 | # NOTE specific CMakeLists.txt.
3 | # This CMakeLists.txt requires the following variables:
4 | # * OSGCPE_DIR
5 | # This CMakeLists.txt provides the following variables outside:
6 | # * EXAMPLE_BINARY_NAME
7 | # * OSGCPE_LINK_LIBS
8 |
9 | PROJECT(EX05_NODE_SELECTION)
10 | SET(EXAMPLE_BINARY_NAME "ex05-node-selection")
11 |
12 | # Use C++11.
13 | ADD_DEFINITIONS("-std=c++11")
14 |
15 | # Build OpenSceneGraph statically.
16 | INCLUDE(${OSGCPE_DIR}/libs/OpenSceneGraph/CMakeLists.txt)
17 |
18 | # Reference resources.
19 | INCLUDE_DIRECTORIES(${OSGCPE_DIR}/data)
20 |
21 | # Provide libraries to link with.
22 | SET(
23 | OSGCPE_LINK_LIBS
24 | osgViewer
25 | osgUtil
26 | osgDB
27 | # osgDB plugins start.
28 | osgdb_osg
29 | osgdb_serializers_osg
30 | # osgDB plugins end.
31 | osgGA
32 | osg
33 | OpenThreads
34 | )
35 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | CMAKE_MINIMUM_REQUIRED(VERSION 3.4)
2 |
3 | SET(OSGCPE_DIR "${CMAKE_SOURCE_DIR}/../../../../openscenegraph-cross-platform-examples")
4 |
5 | # Include common CMakeLists.txt.
6 | INCLUDE(${CMAKE_SOURCE_DIR}/../../CMakeLists.txt)
7 | # Include lipng-android CMakeLists.txt.
8 | INCLUDE(${OSGCPE_DIR}/libs/libpng-android/CMakeLists.txt)
9 |
10 | # Reference sources.
11 | INCLUDE_DIRECTORIES(src/main/cpp)
12 | # Create native library.
13 | ADD_LIBRARY(library SHARED src/main/cpp/library.cpp)
14 |
15 | FIND_LIBRARY(log-lib log)
16 | SET(IMAGE_LINK_LIBS "osgdb_png" "png")
17 |
18 | # Link native library with libraries.
19 | TARGET_LINK_LIBRARIES(
20 | library
21 | ${log-lib}
22 | ${OSGCPE_LINK_LIBS}
23 | ${IMAGE_LINK_LIBS}
24 | )
25 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
13 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/cpp/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | Application
3 | Application+Logging
4 | Application+Mouse
5 | Application+Rendering
6 | Application+camera
7 | Application+frame+Reporting
8 | Application+handleMousePress-android
9 | Application+setupWindow-embedded
10 |
11 | MAIN_EXAMPLE_LOG
12 | Example
13 | Example+05
14 | Example+BoxScene
15 | Example+BoxSelection
16 | Example+BoxRotation
17 | Example+StaticPluginOSG
18 | Example+StaticPluginPNG
19 | Example+TextureImageScene
20 | Example+VBO
21 |
22 | library+Ex05+JNI-android
23 |
24 | library-android
25 | library+init-android
26 | library+frame-android
27 | library+handleMousePress-android
28 |
29 | # core
30 | Reporter
31 |
32 | # log
33 | Logger
34 | log-android
35 | logLevelToString
36 | logprintf
37 |
38 | # format
39 | printfString
40 |
41 | # resource
42 | RESOURCE_LOG
43 | Resource
44 | ResourceStreamBuffer
45 | createTexture
46 | extension
47 | node
48 | setTextureImage
49 | string
50 |
51 | # render
52 | VBOSetupVisitor
53 | createShaderProgram
54 |
55 | # scene
56 | LinearInterpolator
57 | degreesToQuaternion
58 | nodeAtPosition
59 | quaternionToDegrees
60 | setSimpleRotation
61 | simpleRotation
62 | textureImageScene
63 |
64 | # input
65 | Mouse
66 | MouseButtons
67 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/java/Features.txt:
--------------------------------------------------------------------------------
1 | Ex05
2 | library
3 | library+init
4 | library+frame
5 | library+handleMousePress
6 | EGLview
7 | RendererDelegate
8 | MainActivity
9 | MainActivity+Input
10 | MainActivity+library+init
11 | MainActivity+library+frame
12 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/05.NodeSelection/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/05.NodeSelection/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/05.NodeSelection/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/05.NodeSelection/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/05.NodeSelection/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/05.NodeSelection/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/05.NodeSelection/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/05.NodeSelection/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/05.NodeSelection/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/05.NodeSelection/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ex05
3 |
4 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 |
5 | repositories {
6 | google()
7 | jcenter()
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:3.0.1'
11 |
12 |
13 | // NOTE: Do not place your application dependencies here; they belong
14 | // in the individual module build.gradle files
15 | }
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | google()
21 | jcenter()
22 | }
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
28 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/05.NodeSelection/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/05.NodeSelection/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Apr 02 11:56:09 MSK 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/05.NodeSelection/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/05.NodeSelection/desktop/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2 |
3 | SET(OSGCPE_DIR "${CMAKE_SOURCE_DIR}/../../../openscenegraph-cross-platform-examples")
4 |
5 | # Include common CMakeLists.txt.
6 | INCLUDE(${CMAKE_SOURCE_DIR}/../CMakeLists.txt)
7 |
8 | # Reference sources.
9 | INCLUDE_DIRECTORIES(src)
10 | # Create executable.
11 | ADD_EXECUTABLE(${EXAMPLE_BINARY_NAME} src/main.cpp)
12 |
13 | # Use ImageIO for macOS.
14 | IF (${OSG_PLATFORM} STREQUAL "macos")
15 | SET(IMAGE_LINK_LIBS "osgdb_imageio")
16 | # Use libpng for Linux and Windows.
17 | ELSE ()
18 | SET(IMAGE_LINK_LIBS "osgdb_png" "png")
19 | ENDIF ()
20 |
21 | # Link executable with libraries.
22 | TARGET_LINK_LIBRARIES(
23 | ${EXAMPLE_BINARY_NAME}
24 | ${OSGCPE_LINK_LIBS}
25 | ${IMAGE_LINK_LIBS}
26 | )
27 |
--------------------------------------------------------------------------------
/05.NodeSelection/desktop/src/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | MAIN_APPLICATION_LOG
3 | Application
4 | Application+Logging
5 | Application+Mouse
6 | Application+Rendering
7 | Application+camera
8 | Application+frame+Reporting
9 | Application+run
10 | Application+setupWindow-desktop
11 |
12 | MAIN_EXAMPLE_LOG
13 | Example
14 | Example+05
15 | Example+BoxScene
16 | Example+BoxSelection
17 | Example+BoxRotation
18 | Example+StaticPluginOSG
19 | Example+StaticPluginPNG
20 | Example+TextureImageScene
21 |
22 | main-desktop
23 |
24 | # core
25 | Reporter
26 |
27 | # log
28 | Logger
29 | log-default
30 | logLevelToString
31 | logprintf
32 |
33 | # format
34 | printfString
35 |
36 | # resource
37 | RESOURCE_LOG
38 | Resource
39 | ResourceStreamBuffer
40 | createTexture
41 | extension
42 | node
43 | setTextureImage
44 | string
45 |
46 | # render
47 | createGraphicsContext-desktop
48 | createShaderProgram
49 | setupCamera
50 |
51 | # scene
52 | LinearInterpolator
53 | degreesToQuaternion
54 | nodeAtPosition
55 | quaternionToDegrees
56 | setSimpleRotation
57 | simpleRotation
58 | textureImageScene
59 |
60 | # input
61 | INPUT_MOUSE_LOG
62 | Mouse
63 | MouseButtons
64 |
--------------------------------------------------------------------------------
/05.NodeSelection/ios/ex05.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/05.NodeSelection/ios/src/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/05.NodeSelection/ios/src/Features.txt:
--------------------------------------------------------------------------------
1 | # ios
2 | AppDelegate
3 | AppDelegate+RenderVC
4 | RenderVC
5 | RenderVC+FrameReporting
6 |
7 | # main
8 | Application
9 | Application+Logging
10 | Application+Rendering
11 | Application+Mouse
12 | Application+camera
13 | Application+frame+Reporting
14 | Application+setupWindow-ios
15 |
16 | MAIN_EXAMPLE_LOG
17 | Example
18 | Example+05
19 | Example+BoxScene
20 | Example+BoxSelection
21 | Example+BoxRotation
22 | Example+StaticPluginOSG
23 | Example+StaticPluginPNG
24 | Example+TextureImageScene
25 | Example+VBO
26 |
27 | library-ios
28 | library+init-ios
29 | library+frame-ios
30 |
31 | # core
32 | Reporter
33 |
34 | # log
35 | Logger
36 | log-default
37 | logLevelToString
38 | logprintf
39 |
40 | # format
41 | printfString
42 |
43 | # resource
44 | RESOURCE_LOG
45 | Resource
46 | ResourceStreamBuffer
47 | createTexture
48 | extension
49 | node
50 | setTextureImage
51 | string
52 |
53 | # render
54 | VBOSetupVisitor
55 | createGraphicsContext-ios
56 | createShaderProgram
57 | setupCamera
58 |
59 | # scene
60 | LinearInterpolator
61 | degreesToQuaternion
62 | nodeAtPosition
63 | quaternionToDegrees
64 | setSimpleRotation
65 | simpleRotation
66 | textureImageScene
67 |
68 | # input
69 | Mouse
70 | MouseButtons
71 |
--------------------------------------------------------------------------------
/05.NodeSelection/ios/src/library.mm:
--------------------------------------------------------------------------------
1 | #include "library.cpp"
2 |
--------------------------------------------------------------------------------
/05.NodeSelection/shot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/05.NodeSelection/shot.png
--------------------------------------------------------------------------------
/05.NodeSelection/web/src/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | MAIN_APPLICATION_LOG
3 | Application
4 | Application+Logging
5 | Application+Mouse
6 | Application+Rendering
7 | Application+camera
8 | Application+frame+Reporting
9 | Application+handleEvent-web
10 | Application+setupWindow-embedded
11 | Application+setupWindow-web
12 |
13 | MAIN_EXAMPLE_LOG
14 | Example
15 | Example+05
16 | Example+BoxScene
17 | Example+BoxSelection
18 | Example+BoxRotation
19 | Example+StaticPluginOSG
20 | Example+StaticPluginPNG
21 | Example+TextureImageScene
22 | Example+VBO
23 |
24 | main-web
25 | main+Input-web
26 |
27 | # core
28 | Reporter
29 |
30 | # log
31 | Logger
32 | log-default
33 | logLevelToString
34 | logprintf
35 |
36 | # format
37 | printfString
38 |
39 | # resource
40 | RESOURCE_LOG
41 | Resource
42 | ResourceStreamBuffer
43 | createTexture
44 | extension
45 | node
46 | setTextureImage
47 | string
48 |
49 | # render
50 | VBOSetupVisitor
51 | createShaderProgram
52 | setupCamera
53 |
54 | # scene
55 | LinearInterpolator
56 | degreesToQuaternion
57 | nodeAtPosition
58 | quaternionToDegrees
59 | setSimpleRotation
60 | simpleRotation
61 | textureImageScene
62 |
63 | # input
64 | Mouse
65 | MouseButtons
66 |
--------------------------------------------------------------------------------
/06.CommandSequence/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # NOTE This is a common CMakeLists.txt to be included by each platform's
2 | # NOTE specific CMakeLists.txt.
3 | # This CMakeLists.txt requires the following variables:
4 | # * OSGCPE_DIR
5 | # This CMakeLists.txt provides the following variables outside:
6 | # * EXAMPLE_BINARY_NAME
7 | # * OSGCPE_LINK_LIBS
8 |
9 | PROJECT(EX06_COMMAND_SEQUENCE)
10 | SET(EXAMPLE_BINARY_NAME "ex06-command-sequence")
11 |
12 | # Use C++11.
13 | ADD_DEFINITIONS("-std=c++11")
14 |
15 | # Build OpenSceneGraph statically.
16 | INCLUDE(${OSGCPE_DIR}/libs/OpenSceneGraph/CMakeLists.txt)
17 |
18 | # Reference resources.
19 | INCLUDE_DIRECTORIES(${OSGCPE_DIR}/data)
20 |
21 | # Provide libraries to link with.
22 | SET(
23 | OSGCPE_LINK_LIBS
24 | osgViewer
25 | osgUtil
26 | osgDB
27 | # osgDB plugins start.
28 | osgdb_osg
29 | osgdb_serializers_osg
30 | # osgDB plugins end.
31 | osgGA
32 | osg
33 | OpenThreads
34 | )
35 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | CMAKE_MINIMUM_REQUIRED(VERSION 3.4)
2 |
3 | SET(OSGCPE_DIR "${CMAKE_SOURCE_DIR}/../../../../openscenegraph-cross-platform-examples")
4 |
5 | # Include common CMakeLists.txt.
6 | INCLUDE(${CMAKE_SOURCE_DIR}/../../CMakeLists.txt)
7 | # Include lipng-android CMakeLists.txt.
8 | INCLUDE(${OSGCPE_DIR}/libs/libpng-android/CMakeLists.txt)
9 |
10 | # Reference sources.
11 | INCLUDE_DIRECTORIES(src/main/cpp)
12 | # Create native library.
13 | ADD_LIBRARY(library SHARED src/main/cpp/library.cpp)
14 |
15 | FIND_LIBRARY(log-lib log)
16 | SET(IMAGE_LINK_LIBS "osgdb_png" "png")
17 |
18 | # Link native library with libraries.
19 | TARGET_LINK_LIBRARIES(
20 | library
21 | ${log-lib}
22 | ${OSGCPE_LINK_LIBS}
23 | ${IMAGE_LINK_LIBS}
24 | )
25 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
13 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/java/Features.txt:
--------------------------------------------------------------------------------
1 | Ex06
2 | library
3 | library+init
4 | library+frame
5 | library+handleMousePress
6 | EGLview
7 | RendererDelegate
8 | MainActivity
9 | MainActivity+Input
10 | MainActivity+library+init
11 | MainActivity+library+frame
12 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/06.CommandSequence/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/06.CommandSequence/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/06.CommandSequence/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/06.CommandSequence/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/06.CommandSequence/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/06.CommandSequence/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/06.CommandSequence/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/06.CommandSequence/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/06.CommandSequence/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/06.CommandSequence/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ex06
3 |
4 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 |
5 | repositories {
6 | google()
7 | jcenter()
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:3.0.1'
11 |
12 |
13 | // NOTE: Do not place your application dependencies here; they belong
14 | // in the individual module build.gradle files
15 | }
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | google()
21 | jcenter()
22 | }
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
28 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/06.CommandSequence/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/06.CommandSequence/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Apr 02 11:56:09 MSK 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/06.CommandSequence/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/06.CommandSequence/desktop/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2 |
3 | SET(OSGCPE_DIR "${CMAKE_SOURCE_DIR}/../../../openscenegraph-cross-platform-examples")
4 |
5 | # Include common CMakeLists.txt.
6 | INCLUDE(${CMAKE_SOURCE_DIR}/../CMakeLists.txt)
7 |
8 | # Reference sources.
9 | INCLUDE_DIRECTORIES(src)
10 | # Create executable.
11 | ADD_EXECUTABLE(${EXAMPLE_BINARY_NAME} src/main.cpp)
12 |
13 | # Use ImageIO for macOS.
14 | IF (${OSG_PLATFORM} STREQUAL "macos")
15 | SET(IMAGE_LINK_LIBS "osgdb_imageio")
16 | # Use libpng for Linux and Windows.
17 | ELSE ()
18 | SET(IMAGE_LINK_LIBS "osgdb_png" "png")
19 | ENDIF ()
20 |
21 | # Link executable with libraries.
22 | TARGET_LINK_LIBRARIES(
23 | ${EXAMPLE_BINARY_NAME}
24 | ${OSGCPE_LINK_LIBS}
25 | ${IMAGE_LINK_LIBS}
26 | )
27 |
--------------------------------------------------------------------------------
/06.CommandSequence/desktop/src/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | Application
3 | Application+Logging
4 | Application+Mouse
5 | Application+Rendering
6 | Application+camera
7 | Application+frame+Reporting
8 | Application+run
9 | Application+setupWindow-desktop
10 |
11 | MAIN_EXAMPLE_LOG
12 | Example
13 | Example+06
14 | Example+BoxScene
15 | Example+BoxSelection
16 | Example+SequenceTest
17 | Example+StaticPluginOSG
18 | Example+StaticPluginPNG
19 | Example+TextureImageScene
20 |
21 | main-desktop
22 |
23 | # core
24 | CORE_SEQUENCE_ACTION
25 | CORE_SEQUENCE_LOG
26 | Reporter
27 | Sequence
28 |
29 | # log
30 | Logger
31 | log-default
32 | logLevelToString
33 | logprintf
34 |
35 | # format
36 | printfString
37 |
38 | # resource
39 | RESOURCE_LOG
40 | Resource
41 | ResourceStreamBuffer
42 | createTexture
43 | extension
44 | node
45 | setTextureImage
46 | string
47 |
48 | # render
49 | createGraphicsContext-desktop
50 | createShaderProgram
51 | setupCamera
52 |
53 | # scene
54 | LinearInterpolator
55 | degreesToQuaternion
56 | nodeAtPosition
57 | quaternionToDegrees
58 | setSimpleRotation
59 | simpleRotation
60 | textureImageScene
61 |
62 | # input
63 | Mouse
64 | MouseButtons
65 |
--------------------------------------------------------------------------------
/06.CommandSequence/ios/ex06.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/06.CommandSequence/ios/src/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/06.CommandSequence/ios/src/library.mm:
--------------------------------------------------------------------------------
1 | #include "library.cpp"
2 |
--------------------------------------------------------------------------------
/06.CommandSequence/shot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/06.CommandSequence/shot.png
--------------------------------------------------------------------------------
/06.CommandSequence/web/src/Features.txt:
--------------------------------------------------------------------------------
1 | # main
2 | MAIN_APPLICATION_LOG
3 | Application
4 | Application+Logging
5 | Application+Mouse
6 | Application+Rendering
7 | Application+camera
8 | Application+frame+Reporting
9 | Application+handleEvent-web
10 | Application+setupWindow-embedded
11 | Application+setupWindow-web
12 |
13 | MAIN_EXAMPLE_LOG
14 | Example
15 | Example+06
16 | Example+BoxScene
17 | Example+BoxSelection
18 | Example+SequenceTest
19 | Example+StaticPluginOSG
20 | Example+StaticPluginPNG
21 | Example+TextureImageScene
22 | Example+VBO
23 |
24 | main-web
25 | main+Input-web
26 |
27 | # core
28 | CORE_SEQUENCE_ACTION
29 | CORE_SEQUENCE_LOG
30 | Reporter
31 | Sequence
32 |
33 | # log
34 | Logger
35 | log-default
36 | logLevelToString
37 | logprintf
38 |
39 | # format
40 | printfString
41 |
42 | # resource
43 | RESOURCE_LOG
44 | Resource
45 | ResourceStreamBuffer
46 | createTexture
47 | extension
48 | node
49 | setTextureImage
50 | string
51 |
52 | # render
53 | VBOSetupVisitor
54 | createShaderProgram
55 | setupCamera
56 |
57 | # scene
58 | LinearInterpolator
59 | degreesToQuaternion
60 | nodeAtPosition
61 | quaternionToDegrees
62 | setSimpleRotation
63 | simpleRotation
64 | textureImageScene
65 |
66 | # input
67 | Mouse
68 | MouseButtons
69 |
--------------------------------------------------------------------------------
/data/digit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OGStudio/openscenegraph-cross-platform-examples/4a59b62139bebc022b6cc8e0043e898f92f01374/data/digit.png
--------------------------------------------------------------------------------
/data/ppl.vert:
--------------------------------------------------------------------------------
1 |
2 | // Per-pixel (per-fragment) lighting.
3 | // Topic: Lambertian reflectance
4 | // Source: http://www.learnopengles.com/tag/lambertian-reflectance/
5 |
6 | varying vec3 position;
7 | varying vec3 normal;
8 |
9 | varying vec2 texCoord;
10 |
11 | void main()
12 | {
13 | // Pass vertex.
14 | // Convert from Model/Object space to Screen one.
15 | gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
16 |
17 | // Pass position and normal in Camera/Eye space.
18 | position = vec3(gl_ModelViewMatrix * gl_Vertex);
19 | normal = vec3(gl_ModelViewMatrix * vec4(gl_Normal, 0.0));
20 |
21 | // Pass texture coordinates.
22 | texCoord = gl_MultiTexCoord0.xy;
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/features/android/Ex01.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | package org.opengamestudio.ex01;
3 |
--------------------------------------------------------------------------------
/features/android/Ex02.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | package org.opengamestudio.ex02;
3 |
--------------------------------------------------------------------------------
/features/android/Ex03.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | package org.opengamestudio.ex03;
3 |
--------------------------------------------------------------------------------
/features/android/Ex04.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | package org.opengamestudio.ex04;
3 |
--------------------------------------------------------------------------------
/features/android/Ex05.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | package org.opengamestudio.ex05;
3 |
--------------------------------------------------------------------------------
/features/android/Ex06.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | package org.opengamestudio.ex06;
3 |
--------------------------------------------------------------------------------
/features/android/HTTPRequestDelegate.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | interface HTTPRequestDelegate
3 | {
4 | void completeRequest(String id, boolean status, String response);
5 | }
6 |
--------------------------------------------------------------------------------
/features/android/MainActivity+HTTPClientProcessor.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Setup
2 | this.setupHTTPClientProcessor();
3 |
4 | FEATURE MainActivity.java/Process
5 | this.httpClientProcessor.process();
6 |
7 | FEATURE MainActivity.java/Impl
8 | private HTTPClientProcessor httpClientProcessor = null;
9 | private void setupHTTPClientProcessor()
10 | {
11 | this.httpClientProcessor = new HTTPClientProcessor();
12 | }
13 |
--------------------------------------------------------------------------------
/features/android/MainActivity+library+frame.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | library.frame();
3 |
--------------------------------------------------------------------------------
/features/android/MainActivity+library+init.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | library.init(width, height);
3 |
--------------------------------------------------------------------------------
/features/android/MainActivity.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Include
2 | import android.app.Activity;
3 | import android.os.Bundle;
4 | import android.widget.TextView;
5 |
6 | FEATURE MainActivity.java/Inherit
7 | public class MainActivity
8 | extends Activity
9 | implements RendererDelegate
10 |
11 | FEATURE MainActivity.java/Setup
12 | {
13 | private EGLview renderer = null;
14 |
15 | @Override
16 | protected void onCreate(Bundle savedInstanceState)
17 | {
18 | super.onCreate(savedInstanceState);
19 | this.setContentView(R.layout.activity_main);
20 | this.setupRenderer();
21 |
22 | FEATURE MainActivity.java/RendererInit
23 | }
24 | private void setupRenderer()
25 | {
26 | this.renderer = (EGLview)findViewById(R.id.render_surface);
27 | this.renderer.setDelegate(this);
28 | }
29 | public void rendererInit(int width, int height)
30 | {
31 |
32 | FEATURE MainActivity.java/RendererFrame
33 | }
34 | public void rendererFrame()
35 | {
36 |
37 | FEATURE MainActivity.java/Impl
38 | }
39 |
40 | FEATURE MainActivity.java/End
41 | }
42 |
--------------------------------------------------------------------------------
/features/android/RendererDelegate.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | interface RendererDelegate
3 | {
4 | void rendererFrame();
5 | void rendererInit(int width, int height);
6 | }
7 |
--------------------------------------------------------------------------------
/features/android/library+frame.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | // Rendering.
3 | public static native void frame();
4 |
--------------------------------------------------------------------------------
/features/android/library+handleMousePress.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | // Input.
3 | public static native void handleMousePress(boolean down, float x, float y);
4 |
--------------------------------------------------------------------------------
/features/android/library+httpClient.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | // Pop next pending request and execute it (implicitely mark it as IN_PROGRESS).
3 | public static native String[] httpClientExecuteNextRequest();
4 |
5 | public static native void httpClientCompleteRequest(String id, boolean status, String response);
6 |
--------------------------------------------------------------------------------
/features/android/library+init.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | // Setup graphics context.
3 | public static native void init(int width, int height);
4 |
--------------------------------------------------------------------------------
/features/android/library.java:
--------------------------------------------------------------------------------
1 | FEATURE MainActivity.java/Impl
2 | class library
3 | {
4 | static
5 | {
6 | System.loadLibrary("library");
7 | }
8 |
9 | FEATURE MainActivity.java/End
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/features/core/CORE_REPORTER_LOG.cpp:
--------------------------------------------------------------------------------
1 | FEATURE core.h/Impl
2 | #include "log.h"
3 | #include "format.h"
4 | #define CORE_REPORTER_LOG_PREFIX "core::Reporter(%p) %s"
5 | #define CORE_REPORTER_LOG(...) \
6 | log::logprintf( \
7 | CORE_REPORTER_LOG_PREFIX, \
8 | this, \
9 | format::printfString(__VA_ARGS__).c_str() \
10 | )
11 |
12 |
--------------------------------------------------------------------------------
/features/core/CORE_SEQUENCE_ACTION.cpp:
--------------------------------------------------------------------------------
1 | FEATURE core.h/Impl
2 | #define CORE_SEQUENCE_ACTION(NAME, CALL) \
3 | core::Sequence::Action(NAME, [=]() { return CALL; })
4 |
--------------------------------------------------------------------------------
/features/core/CORE_SEQUENCE_LOG.cpp:
--------------------------------------------------------------------------------
1 | FEATURE core.h/Impl
2 | #include "log.h"
3 | #include "format.h"
4 | #define CORE_SEQUENCE_LOG_PREFIX "core::Sequence(%p) %s"
5 | #define CORE_SEQUENCE_LOG(...) \
6 | log::logprintf( \
7 | CORE_SEQUENCE_LOG_PREFIX, \
8 | this, \
9 | format::printfString(__VA_ARGS__).c_str() \
10 | )
11 |
12 |
--------------------------------------------------------------------------------
/features/debug/DEBUG_DEBUGGER_LOG.cpp:
--------------------------------------------------------------------------------
1 | FEATURE debug.h/Impl
2 | #include "log.h"
3 | #include "format.h"
4 | #define DEBUG_DEBUGGER_LOG_PREFIX "debug::Debugger(%p) %s"
5 | #define DEBUG_DEBUGGER_LOG(...) \
6 | log::logprintf( \
7 | DEBUG_DEBUGGER_LOG_PREFIX, \
8 | this, \
9 | format::printfString(__VA_ARGS__).c_str() \
10 | )
11 |
--------------------------------------------------------------------------------
/features/debug/DEBUG_PAGE_LOG.cpp:
--------------------------------------------------------------------------------
1 | FEATURE debug.h/Impl
2 | #include "log.h"
3 | #include "format.h"
4 | #define DEBUG_PAGE_LOG_PREFIX "debug::Page(%p) %s"
5 | #define DEBUG_PAGE_LOG(...) \
6 | log::logprintf( \
7 | DEBUG_PAGE_LOG_PREFIX, \
8 | this, \
9 | format::printfString(__VA_ARGS__).c_str() \
10 | )
11 |
12 |
--------------------------------------------------------------------------------
/features/debug/Debugger+page.cpp:
--------------------------------------------------------------------------------
1 | FEATURE debug.h/Impl
2 | public:
3 | Page *page(const std::string &title)
4 | {
5 | auto pageCount = this->pages.size();
6 | for (auto i = 0; i < pageCount; ++i)
7 | {
8 | Page *page = &this->pages[i];
9 | if (page->title == title)
10 | {
11 | return page;
12 | }
13 | }
14 | return 0;
15 | }
16 |
--------------------------------------------------------------------------------
/features/debug/Debugger+processJSON.cpp:
--------------------------------------------------------------------------------
1 | FEATURE debug.h/Impl
2 | public:
3 | void processJSON(const std::string &data)
4 | {
5 | // TODO Work with PageDesc here instead of raw JSON?
6 | auto jdata = nlohmann::json::parse(data);
7 | auto debuggerTitle = jdata["title"].get();
8 | // Ignore different debuggers.
9 | if (debuggerTitle != this->title)
10 | {
11 | DEBUG_DEBUGGER_LOG("WARNING Ignoring debugger with different title");
12 | return;
13 | }
14 | auto jpages = jdata["pages"];
15 | for (auto jpage : jpages)
16 | {
17 | auto pageDesc = jsonToPageDesc(jpage);
18 | auto page = this->page(pageDesc.title);
19 | if (page)
20 | {
21 | page->setDesc(pageDesc);
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/features/debug/Debugger.cpp:
--------------------------------------------------------------------------------
1 | FEATURE debug.h/Include
2 | #include "network.h"
3 | #include
4 |
5 | FEATURE debug.h/Begin
6 | //! Accumulates and processes DebugPages with the help of network::HTTPClient.
7 | class Debugger
8 | {
9 | private:
10 | network::HTTPClient *httpClient;
11 | public:
12 | const std::string title;
13 |
14 | Debugger(
15 | network::HTTPClient *httpClient,
16 | const std::string &title
17 | ) :
18 | httpClient(httpClient),
19 | title(title)
20 | { }
21 |
22 | private:
23 | std::string brokerURL;
24 | public:
25 | void setBrokerURL(const std::string &url)
26 | {
27 | this->brokerURL = url;
28 | }
29 |
30 | private:
31 | std::vector pages;
32 | public:
33 | void addPage(Page page)
34 | {
35 | this->pages.push_back(page);
36 | }
37 |
38 | FEATURE debug.h/End
39 | };
40 |
--------------------------------------------------------------------------------
/features/debug/Page+item.cpp:
--------------------------------------------------------------------------------
1 | FEATURE debug.h/Impl
2 | Item *item(const std::string &title)
3 | {
4 | auto itemCount = this->items.size();
5 | for (auto i = 0; i < itemCount; ++i)
6 | {
7 | Item *item = &this->items[i];
8 | if (item->title == title)
9 | {
10 | return item;
11 | }
12 | }
13 | return 0;
14 | }
15 |
--------------------------------------------------------------------------------
/features/debug/Page+setDesc.cpp:
--------------------------------------------------------------------------------
1 | FEATURE debug.h/Impl
2 | void setDesc(const PageDesc& desc)
3 | {
4 | for (auto descItem : desc.items)
5 | {
6 | auto item = this->item(descItem.title);
7 | if (item && item->setter)
8 | {
9 | item->setter(descItem.value);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/features/debug/Page.cpp:
--------------------------------------------------------------------------------
1 | FEATURE debug.h/Include
2 | #include
3 |
4 | FEATURE debug.h/Begin
5 | //! Provides debug page with items to alter.
6 | struct Page
7 | {
8 |
9 | // SETUP.
10 |
11 | std::string title;
12 |
13 | Page(const std::string &title = "") : title(title) { }
14 |
15 | // ITEMS.
16 |
17 | typedef std::function GetterCallback;
18 | typedef std::function SetterCallback;
19 |
20 | struct Item
21 | {
22 | std::string title;
23 | GetterCallback getter;
24 | SetterCallback setter;
25 | };
26 | std::vector- items;
27 |
28 | //! Convenience function to add items.
29 | void addItem(
30 | const std::string &title,
31 | GetterCallback getter,
32 | SetterCallback setter = nullptr
33 | ) {
34 | this->items.push_back({title, getter, setter});
35 | }
36 |
37 | FEATURE debug.h/End
38 | };
39 |
--------------------------------------------------------------------------------
/features/debug/PageDesc.cpp:
--------------------------------------------------------------------------------
1 | FEATURE debug.h/Include
2 | #include
3 | #include
4 |
5 | FEATURE debug.h/Impl
6 | //! Provides serializable representation of a Page instance.
7 | struct PageDesc
8 | {
9 | std::string title;
10 |
11 | struct Item
12 | {
13 | std::string title;
14 | std::string value;
15 | };
16 | std::vector
- items;
17 | };
18 |
--------------------------------------------------------------------------------
/features/debug/debuggerToJSON.cpp:
--------------------------------------------------------------------------------
1 | FEATURE debug.h/Impl
2 | std::string debuggerToJSON(
3 | const std::string &debuggerTitle,
4 | const std::vector &pages
5 | ) {
6 | std::string pagesJSON = "";
7 | for (auto page : pages)
8 | {
9 | // Add comma if we're adding the second and following pages.
10 | if (!pagesJSON.empty())
11 | {
12 | pagesJSON += ",";
13 | }
14 | pagesJSON += pageToJSON(page);
15 | }
16 |
17 | // Format debugger.
18 | std::string json;
19 | json += "{";
20 |
21 | json += "\"title\":\"";
22 | json += debuggerTitle;
23 | json += "\",";
24 |
25 | json += "\"pages\":[";
26 | json += pagesJSON;
27 | json += "]"; // Note the absent comma.
28 |
29 | json += "}";
30 |
31 | return json;
32 | }
33 |
--------------------------------------------------------------------------------
/features/debug/jsonToPageDesc.cpp:
--------------------------------------------------------------------------------
1 | FEATURE debug.h/Impl
2 | PageDesc jsonToPageDesc(const nlohmann::json &data)
3 | {
4 | PageDesc desc;
5 |
6 | // Title.
7 | desc.title = data["title"].get();
8 |
9 | // Convert JSON items to DebugPageDesc items.
10 | auto items = data["items"];
11 | for (auto item : items)
12 | {
13 | auto title = item["title"].get();
14 | auto value = item["value"].get();
15 | desc.items.push_back({ title, value });
16 | }
17 |
18 | return desc;
19 | }
20 |
--------------------------------------------------------------------------------
/features/format/commandLineArgumentsToParameters.cpp:
--------------------------------------------------------------------------------
1 | FEATURE format.h/Include
2 | #include