Shaders from Shade Can’t Get Exported to Dropbox

Why is it that when I try to copy and paste one of my shaders from Shade into Dropbox, it says the operation couldn’t be completed and stops me from importing my shaders??

Can someone please shed some light on this issue, as I want to use the shaders that I make for my game, and now I can’t do that.

Thanks in advance :slight_smile:

The way I get shaders in Dropbox is to long press on the shader. When the popup shows, select copy. Then go into the Files app and select Codea. From there you can paste the shader into the Codea Dropbox folder. Then open Codea and you should see the shader in the Dropbox folder.

@dave1707, thank you for that. It worked like you said :slight_smile:

@dave1707 @Simeon - just had a crash. Copied simply sand shader from Shade to Documents. Opened shader lab and the shader was found in the Documents folder, but only as the flask, no image - whereas the shader in documents shows the image. Moved out of shader lab and Codea crashed. Do you need to add code to the vertex, fragment or bindings for the shader to work ?

Edit: Repeated this and no crash second time. First time I did size the output window to full screen.

@Bri_G I haven’t used the shaders that much. Just tried it to see if it worked. The one I did was just an image. There wasn’t anything moving to it.

@dave1707 - could you talk me through exactly what you did. Did you use one of @John’s demos?

@Bri_G Here’s what I used with the Lava Flow shader. Copy the shader like I describe above to get it into the Codea Dropbox folder. It’s a cube with the moving Lava Flow image on each side. Let me know if you have any trouble.

The Lava Flow is in the Advanced Shader folder.

viewer.mode=FULLSCREEN

-- uses a shader from Shade.

function setup()
    fill(255)
    assert(OrbitViewer, "Please include Cameras (not Camera) as a dependency")
    scene = craft.scene()
    skyMaterial=scene.sky.material
    skyMaterial.sky=color(0, 62, 255, 255)
    skyMaterial.horizon=color(99, 255, 0, 255)
    v=scene.camera:add(OrbitViewer, vec3(0,0,0), 50, 0, 200)
    v.rx,v.ry=20,20
    createRect1()
end

function draw()
    update(DeltaTime)
    scene:draw()  
end

function update(dt)
    scene:update(dt)
end

function createRect1() 
    local c1=scene:entity()
    c1.position=vec3(0,0,0)
    c1.model = craft.model.cube(vec3(10,10,10))
    c1.material = craft.material(asset.documents.Dropbox.Lava_Flow)
end

@dave1707 - thanks for the outline. Still having problems with Dropbox so loaded to documents. Still can’t load the shader into the Shader editor but that’s no problem - integration you demo’d is great. Thanks.

Dropbox unfortunately doesn’t have support for bundles (folders which act like files). iCloud Drive does, but many third-party cloud providers do not implement proper support

@Simeon - so is the best way to store projects on Dropbox now in zips?
Thanks for the info.