How to get shader source for an actor

Hello, Roger,

Fixed.

The virtual keyword only means that the function’s behavior may change depending on the object’s class. It doesn’t have to do with the returned data type, which is char *. Suppose the Animal class that has a virtual string talk(){return "";}. You can have a Dog and a Cat classes that extend Animal. These subclasses may override Animal::talk() to implement behavior especific to them: virtual string Dog::talk(){ return "woof woof!";} and virtual string Cat::talk(){ return "meow!";}. So if you declare an Animal object like this: Animal* a = new Dog(); and if you call its talk() method, it’ll return “woof woof!”. Without the virtual keyword, it would return an empty string, since a belongs to the Animal class. The virtual keyword is one way in C++ to implement polymorphism, that is, variable behavior for seemingly the same thing.

char means a single character. * means that it is a pointer to the given data type. So char * is a variable that has the memory address to a singe character. Normally, a char * denotes the pointer to the first character of a string, which ends with the first of the following characters that has the null character (\0) or the 8-bit integer value of zero. These are the so-called "C-string"s. In practice, C++ programmers use some high level string class such as std::string. You can just create a std::string object from a char * by doing, for example, std::string myString( shaderProperty->GetFragmentShaderCode() );.

Please, take a look at some examples of shader usage here: Any example or tips to render sea surface(shader+FFT)? - #2 by Paulo_Carvalho .

take care,

Paulo