resourceLoader for Linux
This commit is contained in:
@@ -21,10 +21,6 @@ add_library(FILAMENT_SHADERS SHARED
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../ios/include/material/unlit_opaque.c"
|
||||
)
|
||||
|
||||
add_library(DART_API SHARED
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../ios/src/dart_api_dl.c"
|
||||
)
|
||||
|
||||
# Define the plugin library target. Its name must not be changed (see comment
|
||||
# on PLUGIN_NAME above).
|
||||
#
|
||||
@@ -61,7 +57,6 @@ target_include_directories(${PLUGIN_NAME} INTERFACE
|
||||
|
||||
include_directories(../ios/src)
|
||||
include_directories(../ios/include)
|
||||
include_directories(../ios/include/dart)
|
||||
include_directories(../example/linux)
|
||||
|
||||
target_link_libraries(${PLUGIN_NAME} PRIVATE flutter)
|
||||
@@ -126,7 +121,6 @@ set_property(TARGET math PROPERTY IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}
|
||||
|
||||
target_link_libraries(${PLUGIN_NAME} PRIVATE
|
||||
FILAMENT_SHADERS
|
||||
DART_API
|
||||
gltfio_core
|
||||
filament
|
||||
backend
|
||||
|
||||
@@ -58,12 +58,15 @@ ResourceBuffer loadResource(const char* name) {
|
||||
is.read (buffer, length);
|
||||
is.close();
|
||||
_file_assets[id] = buffer;
|
||||
std::cout << "Loaded!" << std::endl;
|
||||
|
||||
return ResourceBuffer(buffer, length, id);
|
||||
}
|
||||
|
||||
void freeResource(uint32_t id) {
|
||||
std::cout << "Freeing resource " << id << std::endl;
|
||||
auto it = _file_assets.find(id);
|
||||
void freeResource(ResourceBuffer rbuf) {
|
||||
std::cout << "Free " << rbuf.id << std::endl;
|
||||
std::cout << "Freeing resource " << rbuf.id << std::endl;
|
||||
auto it = _file_assets.find(rbuf.id);
|
||||
if (it != _file_assets.end()) {
|
||||
free(it->second);
|
||||
}
|
||||
|
||||
@@ -107,13 +107,10 @@ static void polyvox_filament_plugin_handle_method_call(
|
||||
g_autoptr(FlValue) result =
|
||||
fl_value_new_int(reinterpret_cast<unsigned int>(((FilamentTextureGL*)self->texture)->texture_id));
|
||||
response = FL_METHOD_RESPONSE(fl_method_success_response_new(result));
|
||||
} else if(strcmp(method, "getLoadResourceFn") == 0) {
|
||||
} else if(strcmp(method, "getResourceLoader") == 0) {
|
||||
ResourceLoaderWrapper* resourceLoader = new ResourceLoaderWrapper(loadResource, freeResource);
|
||||
g_autoptr(FlValue) result =
|
||||
fl_value_new_int(reinterpret_cast<int64_t>(loadResource));
|
||||
response = FL_METHOD_RESPONSE(fl_method_success_response_new(result));
|
||||
} else if(strcmp(method, "getFreeResourceFn") == 0) {
|
||||
g_autoptr(FlValue) result =
|
||||
fl_value_new_int(reinterpret_cast<int64_t>(&freeResource));
|
||||
fl_value_new_int(reinterpret_cast<int64_t>(resourceLoader));
|
||||
response = FL_METHOD_RESPONSE(fl_method_success_response_new(result));
|
||||
} else if(strcmp(method, "tick") == 0) {
|
||||
fl_texture_registrar_mark_texture_frame_available(self->texture_registrar,
|
||||
|
||||
Reference in New Issue
Block a user