Gå til innhold

ProgrammeringsBaren! Småprat, om det du elsker!


Anbefalte innlegg

Videoannonse
Annonse

Hehe

Det begynner å bli komplisert med shaders, mye matematikk og fysikk plutselig, lysbrytning etc.

Har lyst til å prøve meg på geometry shaders, men jeg vet ikke helt hva det kan brukes til, annet en å generere meta balls....

Men skjermkortet mitt støtter ikke geometry shaders :(

Lenke til kommentar

Jeg har kodet en test applikasjon med geometry shaders, den får geometry shaderen til å generere tbn-frame i realtime ettersom den fores med nabo-triangel data. Da får vi realtime brdf shading og normalmapping av dynamiske objekter, noe som er mer effektivt enn å generere på cpu-side (tipper jeg). Finnes vel mange andre bruksområder også, tror Nvidia har laget noen tester på fur-generation og vertex explosion. Er ganske mye kult som kan lages her.

 

*edit: nvidia sdk 10 link

Endret av tresko
Lenke til kommentar

Ja, men det er ikke normalt, siden .exe filer har den største muligheten for å forplante viruset.

.dll filer kan også brukes selvsagt, men det er litt poengløst å infisere .com filer eller .sys, .vbs, (.bat til en viss grad) etc. siden det er mye mindre spredningsmulighet med disse filene.

Lenke til kommentar

Da blir det altså en form for patching av .exe-filer da, det er jo en relativ enkel prosess egentlig. Når det kommer til å kalle funksjoner i .dll filer, hvordan kan dette gjøres dynamisk i runtime? Altså C++ kode for å kalle funksjoner i en dll-fil uten å ha en header eller objekt-filer å linke mot? Man må jo kalle hardkodet adresser da?

Lenke til kommentar

runtime linking?

 

HMODULE	hDLL;
CreateInterfaceFunc	InterfaceFunc;
IYShade* Interface;

void LoadModule()
{
 hDLL = LoadLibrary(_T("YShade.dll"));
 if(!hDLL)
 {
//fant ikke dll fila
 }
 //vi vet ikke hvor CreateInterface er så vi spør windows om hjelp
 InterfaceFunc = (CreateInterfaceFunc)GetProcAddress(hDLL,"CreateInterface");

 if(!InterfaceFunc)
 {
//fant ikke funksjonen
 }
 Interface = static_cast<IYShade*>(InterfaceFunc());
};

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...