{"id":"https://openalex.org/W2782401759","doi":"https://doi.org/10.2312/vmv.20171268","title":"C++ Compile Time Polymorphism for Ray Tracing","display_name":"C++ Compile Time Polymorphism for Ray Tracing","publication_year":2017,"publication_date":"2017-01-01","ids":{"openalex":"https://openalex.org/W2782401759","doi":"https://doi.org/10.2312/vmv.20171268","mag":"2782401759"},"language":"en","primary_location":{"id":"doi:10.2312/vmv.20171268","is_oa":true,"landing_page_url":"https://doi.org/10.2312/vmv.20171268","pdf_url":null,"source":{"id":"https://openalex.org/S7407052899","display_name":"Eurographics","issn_l":null,"issn":[],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"article"},"type":"article","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://doi.org/10.2312/vmv.20171268","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5065331110","display_name":"Stefan Zellmann","orcid":"https://orcid.org/0000-0003-2880-9090"},"institutions":[{"id":"https://openalex.org/I180923762","display_name":"University of Cologne","ror":"https://ror.org/00rcxh774","country_code":"DE","type":"education","lineage":["https://openalex.org/I180923762"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Zellmann, Stefan","raw_affiliation_strings":["University of Cologne, Cologne, Germany"],"affiliations":[{"raw_affiliation_string":"University of Cologne, Cologne, Germany","institution_ids":["https://openalex.org/I180923762"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5040060768","display_name":"Ulrich Lang","orcid":"https://orcid.org/0000-0001-7166-0805"},"institutions":[{"id":"https://openalex.org/I180923762","display_name":"University of Cologne","ror":"https://ror.org/00rcxh774","country_code":"DE","type":"education","lineage":["https://openalex.org/I180923762"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Lang, Ulrich","raw_affiliation_strings":["University of Cologne, Cologne, Germany"],"affiliations":[{"raw_affiliation_string":"University of Cologne, Cologne, Germany","institution_ids":["https://openalex.org/I180923762"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5065331110"],"corresponding_institution_ids":["https://openalex.org/I180923762"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"129","last_page":"136"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12153","display_name":"Advanced Optical Sensing Technologies","score":0.982200026512146,"subfield":{"id":"https://openalex.org/subfields/3105","display_name":"Instrumentation"},"field":{"id":"https://openalex.org/fields/31","display_name":"Physics and Astronomy"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T12153","display_name":"Advanced Optical Sensing Technologies","score":0.982200026512146,"subfield":{"id":"https://openalex.org/subfields/3105","display_name":"Instrumentation"},"field":{"id":"https://openalex.org/fields/31","display_name":"Physics and Astronomy"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.6582184433937073},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5800403356552124},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.43376457691192627},{"id":"https://openalex.org/keywords/tracing","display_name":"Tracing","score":0.4305819869041443},{"id":"https://openalex.org/keywords/polymorphism","display_name":"Polymorphism (computer science)","score":0.42704808712005615},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.27586638927459717},{"id":"https://openalex.org/keywords/genetics","display_name":"Genetics","score":0.15781378746032715},{"id":"https://openalex.org/keywords/biology","display_name":"Biology","score":0.1462635099887848},{"id":"https://openalex.org/keywords/genotype","display_name":"Genotype","score":0.07604297995567322},{"id":"https://openalex.org/keywords/gene","display_name":"Gene","score":0.07156357169151306}],"concepts":[{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.6582184433937073},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5800403356552124},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.43376457691192627},{"id":"https://openalex.org/C138673069","wikidata":"https://www.wikidata.org/wiki/Q322229","display_name":"Tracing","level":2,"score":0.4305819869041443},{"id":"https://openalex.org/C149737253","wikidata":"https://www.wikidata.org/wiki/Q3240252","display_name":"Polymorphism (computer science)","level":4,"score":0.42704808712005615},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.27586638927459717},{"id":"https://openalex.org/C54355233","wikidata":"https://www.wikidata.org/wiki/Q7162","display_name":"Genetics","level":1,"score":0.15781378746032715},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.1462635099887848},{"id":"https://openalex.org/C135763542","wikidata":"https://www.wikidata.org/wiki/Q106016","display_name":"Genotype","level":3,"score":0.07604297995567322},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.07156357169151306}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.2312/vmv.20171268","is_oa":true,"landing_page_url":"https://doi.org/10.2312/vmv.20171268","pdf_url":null,"source":{"id":"https://openalex.org/S7407052899","display_name":"Eurographics","issn_l":null,"issn":[],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article"},{"id":"mag:2782401759","is_oa":false,"landing_page_url":"https://diglib.eg.org/handle/10.2312/vmv20171268","pdf_url":null,"source":{"id":"https://openalex.org/S4306421152","display_name":"Vision Modeling and Visualization","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":"Vision Modeling and Visualization","raw_type":null}],"best_oa_location":{"id":"doi:10.2312/vmv.20171268","is_oa":true,"landing_page_url":"https://doi.org/10.2312/vmv.20171268","pdf_url":null,"source":{"id":"https://openalex.org/S7407052899","display_name":"Eurographics","issn_l":null,"issn":[],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2965874101","https://openalex.org/W2806875861","https://openalex.org/W960334631","https://openalex.org/W2236690596","https://openalex.org/W901317803","https://openalex.org/W2505691125","https://openalex.org/W3013396706","https://openalex.org/W2238859042","https://openalex.org/W2493546065","https://openalex.org/W2327250323","https://openalex.org/W2704341161","https://openalex.org/W2489850037","https://openalex.org/W1575660198","https://openalex.org/W2217790335","https://openalex.org/W2478354787","https://openalex.org/W571535407","https://openalex.org/W2962206504","https://openalex.org/W2413411781","https://openalex.org/W3205371110","https://openalex.org/W2937168158"],"abstract_inverted_index":{"Reducing":[0],"the":[1,21,35,111,115],"amount":[2],"of":[3,23,39,59,160],"conditional":[4],"branching":[5,30,112],"instructions":[6],"in":[7,31,67],"innermost":[8],"loops":[9,33],"is":[10,64],"crucial":[11],"for":[12,29,47],"high":[13],"performance":[14],"code":[15,149],"on":[16,134,183],"contemporary":[17],"hardware":[18],"architectures.":[19,187],"In":[20,118],"context":[22],"ray":[24,42,104,175],"tracing":[25,105,176],"algorithms,":[26],"typical":[27],"examples":[28],"inner":[32,116],"are":[34],"decisions":[36],"what":[37],"type":[38],"primitive":[40,94],"a":[41,57,91,174],"should":[43,53],"be":[44,54,143],"tested":[45],"against":[46],"intersection,":[48],"or":[49,96,158],"which":[50,63,108],"BRDF":[51],"implementation":[52,166],"evaluated":[55],"at":[56],"point":[58],"intersection.":[60],"Runtime":[61],"polymorphism,":[62],"often":[65,81],"used":[66,144],"those":[68],"cases,":[69],"can":[70,142],"lead":[71],"to":[72,145],"highly":[73,147],"expressive":[74,148],"but":[75,140],"poorly":[76],"performing":[77],"code.":[78],"Optimization":[79],"strategies":[80],"involve":[82],"reduced":[83],"feature":[84],"sets":[85],"(e.g.":[86],"by":[87,102],"simply":[88],"supporting":[89],"only":[90],"single":[92],"geometric":[93],"type),":[95],"an":[97,128,165],"upstream":[98],"sorting":[99],"step":[100],"followed":[101],"multiple":[103],"kernel":[106],"executions,":[107],"effectively":[109],"places":[110],"instruction":[113],"outside":[114],"loop.":[117],"this":[119],"paper":[120],"we":[121,171],"propose":[122],"C++":[123,169],"compile":[124],"time":[125],"polymorphism":[126],"as":[127,155],"alternative":[129],"optimization":[130,152],"strategy":[131],"that":[132,141,170],"does":[133],"its":[135],"own":[136],"not":[137],"reduce":[138],"branching,":[139],"write":[146],"without":[150],"sacrificing":[151],"potential":[153],"such":[154],"early":[156],"binding":[157],"inlining":[159],"tiny":[161],"functions.":[162],"We":[163,179],"present":[164],"with":[167],"modern":[168],"integrate":[172],"into":[173],"template":[177],"library.":[178],"evaluate":[180],"our":[181],"approach":[182],"CPU":[184],"and":[185],"GPU":[186]},"counts_by_year":[{"year":2020,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
