[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-seo-664176-105":3,"detail-sidebar-cat-0-en-105":72,"doc-detail-664176-en":122},{"code":4,"msg":5,"data":6},0,"ok",{"site_id":7,"language":8,"slug":9,"title":10,"keywords":11,"description":12,"schema_data":13,"social_meta":65,"head_meta":67,"extra_data":69,"updated_unix":71},105,"en","solidwireframe-white-paper-solidwireframe-technique","SolidWireframe - White Paper - SolidWireframe Technique","","SolidWireframe presents an efficient method for rendering high-quality, anti-aliased wireframes from meshes. Instead of drawing traditional line primitives, it renders filled triangle primitives and makes interior fragments transparent, leaving only edge-adjacent fragments visible. Leveraging the Geometry Shader available on GeForce 8800 with DirectX10, the technique accesses all three triangle vertices to compute edge-based fragment results. Hidden line removal is achieved with accurate depth testing because the same filled faces are used for both passes, avoiding z-fighting. The effect is implemented in a single pass and requires only position attributes for straightforward engine integration.",{"@graph":14,"@context":64},[15,34,55],{"@type":16,"itemListElement":17},"BreadcrumbList",[18,23,27,31],{"item":19,"name":20,"@type":21,"position":22},"https://docshare.wps.com","Home","ListItem",1,{"item":24,"name":25,"@type":21,"position":26},"https://docshare.wps.com/document/","Document",2,{"item":28,"name":29,"@type":21,"position":30},"https://docshare.wps.com/document/technology/","Technology",3,{"item":32,"name":10,"@type":21,"position":33},"https://docshare.wps.com/document/solidwireframe-white-paper-solidwireframe-technique/664176/",4,{"url":32,"name":10,"@type":35,"image":36,"author":41,"headline":10,"publisher":44,"fileFormat":47,"inLanguage":8,"description":12,"dateModified":48,"datePublished":49,"encodingFormat":47,"isAccessibleForFree":50,"interactionStatistic":51},"DigitalDocument",{"url":37,"@type":38,"width":39,"height":40},"https://docshare.wps.com/thumbnails/solidwireframe-white-paper-solidwireframe-technique/664176.png","ImageObject",300,407,{"name":42,"@type":43},"FajarTechTalk","Person",{"url":19,"name":45,"@type":46},"DocShare","Organization","application/pdf","2026-10-30","2026-10-29",true,{"@type":52,"interactionType":53,"userInteractionCount":33},"InteractionCounter",{"@type":54},"ViewAction",{"@type":56,"mainEntity":57},"FAQPage",[58],{"name":59,"@type":60,"acceptedAnswer":61},"What GPU features does SolidWireframe rely on to compute edge information?","Question",{"text":62,"@type":63},"It relies on the Geometry Shader in DirectX10, which can access all three vertex positions of a triangle. This enables computation based on triangle edge information before the fragment shader colors only the edge fragments.","Answer","https://schema.org",{"og:url":32,"og:type":66,"og:title":10,"og:site_name":45,"og:description":12},"article",{"robots":68,"canonical":32},"index,follow",{"doc_id":70,"site_id":7},664176,1793242344,{"code":4,"msg":73,"data":74},"success",[75,79,83,87,92,96,101,106,111,114,118],{"id":22,"doc_module":4,"doc_module_name":25,"category_name":76,"show_sort_weight":77,"slug":78},"Story & Novel",90,"story-novel",{"id":26,"doc_module":4,"doc_module_name":25,"category_name":80,"show_sort_weight":81,"slug":82},"Literature",80,"literature",{"id":33,"doc_module":4,"doc_module_name":25,"category_name":84,"show_sort_weight":85,"slug":86},"Exam",70,"exam",{"id":88,"doc_module":4,"doc_module_name":25,"category_name":89,"show_sort_weight":90,"slug":91},5,"Comic",60,"comic",{"id":93,"doc_module":4,"doc_module_name":25,"category_name":29,"show_sort_weight":94,"slug":95},6,50,"technology",{"id":97,"doc_module":4,"doc_module_name":25,"category_name":98,"show_sort_weight":99,"slug":100},7,"Healthcare",40,"healthcare",{"id":102,"doc_module":4,"doc_module_name":25,"category_name":103,"show_sort_weight":104,"slug":105},8,"Research & Report",30,"research-report",{"id":107,"doc_module":4,"doc_module_name":25,"category_name":108,"show_sort_weight":109,"slug":110},9,"Religion & Spirituality",20,"religion-spirituality",{"id":109,"doc_module":4,"doc_module_name":25,"category_name":112,"show_sort_weight":109,"slug":113},"World Cup","world-cup",{"id":115,"doc_module":4,"doc_module_name":25,"category_name":116,"show_sort_weight":115,"slug":117},10,"Lifestyle","lifestyle",{"id":119,"doc_module":4,"doc_module_name":25,"category_name":120,"show_sort_weight":88,"slug":121},19,"General","general",{"code":4,"msg":73,"data":123},{"doc_id":70,"user_id":124,"nickname":42,"user_avatar":125,"doc_module":4,"category_id":93,"category_name":29,"doc_title":10,"doc_description":12,"doc_content":126,"file_id":127,"file_url":128,"file_type":129,"file_size":130,"view_count":33,"is_deleted":4,"is_public":22,"is_downloadable":22,"audit_status":22,"page_count":131,"language":132,"language_code":8,"site_id":7,"html_lang":8,"table_of_contents":133,"faqs":134,"seo_title":135,"seo_description":12,"update_tm":71,"read_time":136},962094249465,"https://ap-avatar.wpscdn.com/davatar_29158cc5080c5b710cf443261637dec0","White Paper  \nSolid Wireframe  \nFebruary 2007 WP-03014-001_v01  \nWhite Paper  \nDocument Change History  \n\n| Version | Date | Responsible | Reason for Change |\n| --- | --- | --- | --- |\n| _v01 | February 20, 2007 | SG, TS | Initial release |\n|  |  |  |  |\n|  |  |  |  |\n|  |  |  |  |\n\nGo to [sdkfeedback@nvidia.com](sdkfeedback@nvidia.com) to provide feedback on SolidWireframe.  \nii WP-03014-001_v01  \nFebruary 20, 2007  \nSolidWireframe  \nAbstract  \nThe SolidWireframe technique efficiently draws a high quality, anti-aliased wireframe representation of a mesh (see Figure 1) . Instead of using conventional line primitives, the technique draws triangle primitives and displays only the fragments on the edges of the triangles. Interior fragments are transparent.  \nThe new Geometry Shader available on the GeForce 8800 with DirectX10 can access all three vertex positions of a triangle, unlike previous Vertex Shaders, which process only one vertex at a time. Thus the Geometry Shader can compute results based on the edge information of a triangle. The fragment shader can then appropriately color the fragments to draw only the edges of the triangle. For hidden line removal, the depth test works with no error because the technique uses exactly the same filled faces as the depth pass.  \nThe effect is achieved with one pass requiring only the position attribute, thus making it straight forward to insert in a graphics engine.  \nSamuel Gateau  \nNVIDIA Corporation  \nFigure 1. Mesh Rendered with the Solid Wireframe Technique  \nWP-03014-001_v01 1  \nFebruary 20, 2007  \nWhite Paper  \nMotivation  \nThe wireframe representation of a mesh is widely used when modeling in DCC, CAD and 3D tools as it is the best way to visualize the layout of faces.  \nPreviously, under DirectX this could be achieved using the line features of the API, drawing the mesh with the fill mode set to D3DFILL_WIREFRAME. But the line rendering has several limitations:  \n􀂉 The thickness of the line is always 1 pixel and cannot be modified  \n􀂉 The line is not anti-aliased  \n􀂉 The lines z-fight with triangles rendered using the same vertex positions.  \nTo remove hidden lines, the classic procedure uses two passes. In the first pass, the filled faces are rendered with color writes disabled, but z writes enabled. This fills the z-buffer with depth data for the object’s triangles. In the second pass, the wireframe is drawn with depth test enabled. The primitives used to draw the two passes are different—filled triangles verses lines—thus the depth rasterized from the two passes may be different which causes z fighting and incorrect occlusion of some pixels of the wireframe. To compensate, using the depth bias offset feature, the depth of the fragment rendered by the first pass can be slightly offset back to ensure it is behind the depth of the fragment drawn by the wireframe. The displayed result is good but this still causes issues because the mesh depth is not strictly correct.  \nIn this sample, we implement, under DirectX10, a new technique which solves all the issues of the classic approach. The method was presented in the SIGGRAPH 2006 sketch “Single-Pass Wireframe Rendering” [1] .  \nThe only drawback of this method is that the outline edges of the mesh look thinner and are not anti-aliased on the outer side (because only one side of the edge is rendered) .  \nThe performance of the technique is extremely good compared to the classic line rendering approach.  \nIntroducing this effect in an existing graphics engine is easy and straight forward as it is a single pass and requires only the position attributes of the mesh.  \nThe technique can be derived and enhanced to draw different patterns along the edges or inside the triangles such as stippled lines; or only on specific edges for different kinds of face outlining (quad, polygon) .  \nHow It Works  \nThis new technique displays the wireframe of a mesh by drawing filled triangles, coloring opaque only the fragments close to the edges of ","cbCaii4RngS4loIf","https://ap.wps.com/l/cbCaii4RngS4loIf","pdf",1223006,15,"English","# Abstract\n# Motivation\n# How It Works\n## Computing the Distance","[{\"question\":\"What GPU features does SolidWireframe rely on to compute edge information?\",\"answer\":\"It relies on the Geometry Shader in DirectX10, which can access all three vertex positions of a triangle. This enables computation based on triangle edge information before the fragment shader colors only the edge fragments.\"}]","SolidWireframe - White Paper - SolidWireframe Technique | PDF",38]