gomidas

C# SharpDX how to render outline ?

Recommended Posts

gomidas    163

I am trying to render outline for my mesh. I basicly re-render the mesh without texture and put color. My problem is I want to show the outline topmost. When I clear depthview after rendering outline mesh my outline stays background of target mesh but also background of other meshes. I want to show outline top of other meshes but behind of my target mesh ? Is that possible ? If I clear depthview for mesh and outline at this time my mesh will be top of other meshes which I do not want.

Share this post


Link to post
Share on other sites
markypooch    1315

The way i've done outline rendering before is to do an additional pass of the scene geometry. Enable front face culling, and in this particular pass's vertex shader you'd offset the vertice positions in the direction of the normal (making this secondary mesh layer larger).

Than in the pixel shader you can keep it simple, and just return black or something. This should give you the outline you're looking for. You'll have to do additional checks, and calculations if you want the mesh the mouse is hovering above to be the only one that is outlined, like inverse ray projecting (picking).

Here is the URL i've used before to implement it. It should be pretty easy to translate this from XNA to D3D.  

http://rbwhitaker.wikidot.com/toon-shader

You can also do a sobel operation as a post-processing step to achieve an outline around your meshes. Though imho, it looks to clean for toon renders, but for selection outlining it might be perfect for you

Share this post


Link to post
Share on other sites
gomidas    163
35 minutes ago, markypooch said:

The way i've done outline rendering before is to do an additional pass of the scene geometry. Enable front face culling, and in this particular pass's vertex shader you'd offset the vertice positions in the direction of the normal (making this secondary mesh layer larger).

Than in the pixel shader you can keep it simple, and just return black or something. This should give you the outline you're looking for. You'll have to do additional checks, and calculations if you want the mesh the mouse is hovering above to be the only one that is outlined, like inverse ray projecting (picking).

Here is the URL i've used before to implement it. It should be pretty easy to translate this from XNA to D3D.  

http://rbwhitaker.wikidot.com/toon-shader

You can also do a sobel operation as a post-processing step to achieve an outline around your meshes. Though imho, it looks to clean for toon renders, but for selection outlining it might be perfect for you

I render it by clearing  context.ClearDepthStencilView(depthView, DepthStencilClearFlags.Depth, 1.0f, 0); And also I did it larger but I did those already problem is when I have a mesh backwards front mesh's outline stays backward other mesh here is the result and issue : https://www.youtube.com/watch?v=4bcdfndc3sQ&feature=youtu.be

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Similar Content

    • By LucKet
      Hey guys,
      I'm quite new to game development (had two small projects in university with Unity and libgdx and wrote quite a bunch of Minecraft plugins and mods but that's mostly it) and want to expand my knowledge in a cool project. I'd love to find a project I'm passionate to work on. I personally don't play any browser or mobile game, thus I'd prefer a desktop game. I'd love to dig into fields like graphics (already had DirectX in university but would love to learn more), AI and general game programming. I'm mostly playing open world, RTS, tycoon, simulation and MOBA games but am open to new genres and ideas. It doesn't have to be a game, if you have an interesting project like an engine or something else just tell me. Even though I'd love to be a proud player of the game we will create.
      If someone has a cool project just PM me, I'd love to hear about it and hopefully it will enthrall me as much as you!
    • By winnex RD
      Hello  forum.

      Am migrating a WD7 to WDK 10 (Environment is  Visual Studio  2015, Windows  10, windows Driver).
      In windows Driver filters are Folder capture.ong is the visual studio enviobement while  wdk7 folders is the original WDK7 folders.
      I just created a filters  and created the  necessary  files inside.
      I do want to know if i am doing the right thing.

      If am wrong would  gladly appreciate correction.
      Attached  are the  snapshots of my environment
       
      Thank you


    • By tope awolowo

      Good day  forum.

      Am trying to connvert a WDK 7 project (https://github.com/basil00/Divert. windowsdivert ) to WDK 10 (Environment is  Visual Studio  2015, Windows  10, windows Driver).
      In the template for  windows drivers Visual Studio  2015 which are :

      Kernel  Mode Driver (KMDF)
      Kernel  Mode Driver (KMDF)  EMPTY
      User  Mode Driver (UMDF V2)

      User Mode Empty  (UMDF V2).
      What is stressing is this, Would like to know  which should i use to start and populated the project.
      Should i use the Kernel  Mode Driver (KMDF)  EMPTY, then  populate it  with codes  from Windivert 
      Which  driver   template  should i use.
    • By Jesse "Chime" Collins
       

      This is only the beginning, VRm I right?
      Not unlike an arms race, the VR price war has only begun. Who has the best Equipment? Early this Summer, Oculus had a massive sale on their device, the Oculus Rift, ending in a permanent price drop. HTC is now following suit, cutting out the sale, dropping the price altogether on their Vive Head-Mounted Display.
      Yesterday, The HTC Vive took a hefty slash in price, dropping from their $799 price tag, down to $599. This comes as no surprise after the Oculus Rift dropped down to $399 earlier this Summer on sale. At the end of the sale, the price raised back up to $499 as the final price, $100 less than previous to the sale.
      The HTC Vive comes with plenty of their worth for the price, too. Along with the head-mounted display, accessories include two wireless controllers, two bases stations, comfort-related materials, and everything purchasers need to get going (cords, etc.). Additionally, the system comes with Google Tilt Brush, Everest VR, and Richie’s Plank Experience as promotional content, as well as one-month subscription to Viveport.
      Vive's Giving Away Some Free Content For New Owners

      As a breakdown of the free content, purchasers of the Vive get $53 of extra content from the promotional pack. Google Tilt Brush ($19.99 retail value) gives artists a full 360-degree canvas to paint massive murals and masterpieces. Everest VR ($14.99 retail value) allows people to climb Mount Everest in first-person, without the fear of dying from hypothermia. Richie’s Plank Experience is a starter “game” for new VR players, teaching balance using VR, as well as giving a couple extra modes like a sky-writing experience.
      But, that’s not all! Purchasers of the $600 system also get a free 1-month subscription to Viveport, HTC’s subscription service, valued at the incredibly pricey $6.99. Subscribers can choose five games/experiences to try out during their subscription period, with five more for each additional subscribed month. The list to choose from includes some amazing titles like ROM: Extraction, which has players shooting robots in a space station. But, people should research their potential options to maximise their potential. For instance, players can also choose the (somehow) award winning title, BUTTS: The VR Experience, which may or may not push virtual reality to its foremost limits (spoiler: it doesn’t).
      But, What About Me And You?

      The question to ask is “What does this mean for potential VR buyers?” Well, the war is in motion here, showing both of these price drops. Virtual Reality enthusiasts and companies are pushing that VR is the future. With this price drop, the Vive finally becomes more affordable to the masses, as well as the even more affordable Oculus Rift. But, alas, other companies are starting to get in on the game, as well.
      Some people just want entertainment instead of gaming. Artists want whitespace to create. Experiences can be strapped to a face for cheap. Google, the folks that bring the Daydream to the VR market, is pushing their own boundaries by teaming up with HTC and Lenovo for cost-effective standalone experiences. Microsoft’s HoloLens will take users into augmented reality, albeit from a much higher price. VRotica, an erotica-enabled standalone HMD device already on the market, costs a fraction of the price of other HMDs.
      Essentially, VR is getting cheaper. For those that have a device already, awesome. The experiences are unlike anything ever before. For potential buyers, as with all technology in history, VR is getting cheaper all the time. Thousands of games and experiences inhabit the SteamVR storefront and respective virtual shops.
      “VR Ready” Computers are coming down in price as well, eventually making the idea a non-issue. But, the average joe still has to fork out some cash for a game-capable machine, because cheap computers still can’t handle it. VR, at the moment, is for the elite, but it won’t be for too much longer.
      Is it the perfect time to grab a now $599 Vive, a recently dropped $499 Rift, or should buyers wait it out for even better prices and devices later?
    • By MarcusAseth
      I think shouldn't be far from true to say that often beginners feel lost and don't know the best way to improve their skills, especially if they are self-thaught in wathever they are learning, being it 2D, 3D, Programming or wathever. There could be many obstacles and pitfall to learning, it could be that since one is begginner he/she doesn't realize that the scope of his project is just too big, or maybe one can't come up with a good story/gameplay for his life so lack the motivation to even attempt doing anyting on his own, and maybe one is stuck in a situation where would like to have the story/gameplay aspect figured out by someone better at it (by joining a team) but lack the technical skill to join said team and has an hard time gaining said skill because is not in a team to begin with.
      So I thought, something that can help beginners grow faster is something I saw in other communities around the web, which is friendly competitions.
      The ones I know of are mostly 2D-3D related, for instance polycount.com "Bi-Monthly CHARACTER ART Challenge" and "Monthly Environment Art Challenge", or conceptart.org "Character of the Week", "Creature of the Week", "Environment of the Week".
      Of course there are many more of this challenges I would like to see come into existence related to programming and game engines, for instance challenges in making certain games (see usual tetris/pong but also something more unique and specific, given some guidelines) and challenges like "Create a Water shader in Unreal Engine", or "Create a water ripple particle effect" and so on.
      The cool thing about this is that begginner could compare each other works (professional hopefully join in the challenge as well) and see how the best resoult where obtained, with everyone focusing/researching on the same task and learning from the best examples. This stuff is not far from something like school exercise from my point of view, therefore something invaluable for self-taught beginners who are at higher risk of getting lost by lack of direction.
      And here's gamedev.net twist on the subject, by joining and completing the current challenges one would get "achievments" or "medals" that are visible in his profile and under his avatar, as a cool way to improve his rep and keep the community active
      This is the kind of place I would like to see, where one join, check the current challenges list and decide to join in and learn something new  or improve on the subject during that day/week. Also often I open the forum and there are no new topic that need to be replied, therefore this would keep us all busy in the free time
      Of course, maybe this sounds fun on digital paper but could end up not working, I have no idea if this stuff can work smoothly on sites that have less than a certain treshold of traffic, and it also require the time from someone actively creating this challenges content.
      Well anyway, I think it is worth thinking about it, let me know what do you think
  • Popular Now