1. Hey! Guest! The 35th GMC Jam will take place between November 28th, 12:00 UTC - December 2nd, 12:00 UTC. Why not join in! Click here to find out more!
    Dismiss Notice

Asset - Shaders 3D Mirrors

Discussion in 'Marketplace' started by Dragon47, Jul 27, 2016.

  1. Dragon47

    Dragon47 Member

    Joined:
    Jul 6, 2016
    Posts:
    188
    [​IMG]

    Download demo: http://www.mediafire.com/download/srt7uf3dd5yyblu/3D+Mirrors.exe

    This asset lets you easily implement 3D mirrors into your game. The code is written in GML, but an extra (optional) DLL is used for optimization on windows targets. The mirrors have a customizable reflection depth to give the effect of recursive reflections (if needed), and you can have multiple mirrors in different sizes, orientations, qualities, and with different texture overlays or frame models.

    The code is well-organized with lots of comments, and the asset is optimized with efficiency in mind.

    Marketplace link: https://marketplace....3367/mirrors-3d


    Screenshots:

    [​IMG]


    [​IMG]


    [​IMG]
     
    Rukola, slojanko and TheSnidr like this.
  2. Dragon47

    Dragon47 Member

    Joined:
    Jul 6, 2016
    Posts:
    188
    The price has now been reduced from $9.99 to $4.99.
     
    slojanko and Galladhan like this.
  3. Dragon47

    Dragon47 Member

    Joined:
    Jul 6, 2016
    Posts:
    188
    Version 1.0.1 published. Removed a memory leak.
     
  4. icuurd12b42

    icuurd12b42 TMC Founder GMC Elder

    Joined:
    Apr 22, 2016
    Posts:
    1,839
    Looks great. Grabbing it
     
  5. icuurd12b42

    icuurd12b42 TMC Founder GMC Elder

    Joined:
    Apr 22, 2016
    Posts:
    1,839
    Wow. this is great.

    You are definitely underselling this. I would bump the price back up. and set the sales price to the current price, send a tweet, tell people the sale is for 2 weeks.... You should never sell niche concepts for peanuts. Especially with the mirror reflecting mirrors and people needing this really would not mind paying 10-15$ for this.

    Also check you tags for the search. I had a though time finding it from the search.

    You got a good set of apis there, very well made.

    Suggestions:

    1) Add a root folder (3d Mirror) and place your stuff, including the examples, under that folder

    3d Mirror
    +-API
    +-Examples

    same for rooms and sprites and shaders.
    the exception would be the includes, dll need to be off the root so...

    2) I would rename the dll to something a little less generic

    3) I would add a m3d_README script explaining the concept. though most should figure out how it works off the bat, there may be things your set of api is capable of doing that we may not even consider... and gotchas we should be aware of.

    Or and water reflection with distortion? possible to add my water shader on top of this?

    Oh and the dll, is it MS Dev Studio? What redist do I need to include?
     
    Last edited: Jan 15, 2017
    Dragon47 and Juju like this.
  6. Dragon47

    Dragon47 Member

    Joined:
    Jul 6, 2016
    Posts:
    188
    Thank you :)

    Adding a root folder is a good idea, as well as renaming the dll file. A README or GUIDE script is something I've been adding to my newest marketplace assets, I might go back and do it with this one as well.

    And the price, you have a point, but I've already lowered it, so I feel like it would be a bit odd to suddenly raise it again, hopefully the lower price extends the target group to people who want to try it out for fun or for learning purposes at least.

    I'm not sure what should be changed with the tags. Do you mean the forum thread tags or the marketplace tags? I changed one of them (a forum tag) to "shader". Maybe I've missed some obvious words?

    The DLL is written in ms visual studio express with directx 9. It's actually a simplified version of the dll from my Graphics Utilities marketplace asset. By the way, in version 1.0.1 I've set the DLL optimization to false by default. The latest version of GM seems to have issues with DLLs when there are too many arguments. I've heard it's been fixed in the early access version though. It can be set to true manually in the init script.
    My additional C/C++ include directories input field is "D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include", and for the linker I have additional library directories set to "D:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86". So you'll need the microsoft directx SDK.

    The reflections work by multiplying the view matrix with a reflection matrix (that holds the info for the reflection across the plane the mirror lies within). The near plane of the projection matrix is skewed so that it aligns to the plane of the mirror to clip geometry that should not be reflected (as in geometry that is behind the mirror before reflection). The scene is drawn using these matrices which composes the reflection for the mirror and it's drawn to and stored in a surface. When the mirror model is drawn this surface is mapped onto the mirror with a shader. If you delve into the code behind the API you can probably get some distortions in the reflections.
     
  7. icuurd12b42

    icuurd12b42 TMC Founder GMC Elder

    Joined:
    Apr 22, 2016
    Posts:
    1,839
    I mean the marketplace keywords (sorry). search for 3d Mirror or Mirror 3d... Mirror is fine but the other 2 are not. Hmm, I guess it not possible to have a "Mirror 3d" keyword...

    So June 2010... So one needs MS Redist 2010, probably
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice