IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Opacité SDL SetRenderDrawColor


Sujet :

SDL

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2022
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Opacité SDL SetRenderDrawColor
    J'ai un problème avec mon code. Je n'arrive pas à modifier l'opacité de mon RenderDrawColor.

    En effet, je sais que SetRenderDrawColor est défini par (renderer, R, G, B, a --> qui représente la valeur d'opacité). Néanmoins, j'ai essayé de changer une valeur mais ma couleur ne change pas et mon rectangle est à nouveau entièrement rempli, sans transparence.

    Voici une photo de ce que j'ai avec mon code :

    Ecran que j'ai avec mon code

    Voici mon code, que j'exécute avec un script main.c, ainsi que le rendu sur l'écran :


    Nom : Screenshot at Jan 05 16-41-38.png
Affichages : 153
Taille : 395,1 KoNom : Screenshot at Jan 05 15-02-58.png
Affichages : 151
Taille : 145,0 Ko

    Si quelqu'un a une solution, je suis preneur !
    Merci beaucoup !!

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 579
    Points
    218 579
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Avant tout, s'il vous plaît, ne postez pas une "photo" de votre code, mais directement le code en question, dans les balises [ code ] et [ /code ] (sans espaces). C'est beaucoup mieux pour tout le monde.

    Ensuite, quant au problème, la documentation mentionne qu'il faut préciser la façon dont le canal alpha est utilisé grâce à la fonction SDL_SetRenderDrawBlendMode. Il me semble que vous n'ayez aucun appel à cette fonction.

    Mis à part ce point, il est aussi possible que le mode de transparence ne soit pas supporté (mais dans l'immédiat, je ne vois pas pourquoi cela serait le cas).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre expérimenté Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 623
    Points : 1 554
    Points
    1 554
    Par défaut
    Hello,

    Ce petit code pourra peut-être t'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    #include <time.h>
    #include <stdlib.h>
    #include <sdl2/sdl.h>
     
     
    #define WND_SIZE_HORZ			600
    #define WND_SIZE_VERT			600
    #define WND_COLOR_R				50
    #define WND_COLOR_G				100
    #define WND_COLOR_B				150
    #define WND_TITLE				"Test blended"
    #define RDR_DEFAULT_DRIVER		-1
     
     
    void DisplayWindow(SDL_Renderer *rdr) {
    	SDL_RenderClear(rdr);
    	SDL_SetRenderDrawColor(rdr,WND_COLOR_R,WND_COLOR_G,WND_COLOR_B,rand()%256);
    	SDL_RenderFillRect(rdr,NULL);
    	SDL_RenderPresent(rdr);
    }	
     
     
    int main(int argc,char *argv[]) {
    	(void)argc;
    	(void)argv;
     
    	srand(time(NULL));
    	SDL_Init(SDL_INIT_VIDEO);
    	SDL_Window *wnd=SDL_CreateWindow(WND_TITLE,SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED,WND_SIZE_HORZ,WND_SIZE_VERT,SDL_WINDOW_SHOWN);
    	SDL_Renderer *rdr=SDL_CreateRenderer(wnd,RDR_DEFAULT_DRIVER,SDL_RENDERER_ACCELERATED);
    	SDL_SetRenderDrawBlendMode(rdr,SDL_BLENDMODE_ADD);
     
    	SDL_bool done=SDL_FALSE;
    	DisplayWindow(rdr);
    	while(!done) {
    		SDL_Event event;
    		SDL_WaitEvent(&event);
    		switch(event.type) {
    			case SDL_QUIT:
    				done=SDL_TRUE;
    				break;
    			case SDL_MOUSEBUTTONUP:
    				DisplayWindow(rdr);
    				break;
    			default: break;
    		}
     
    	}
     
    	SDL_DestroyRenderer(rdr);
    	SDL_DestroyWindow(wnd);
    	SDL_Quit();
     
    	return(0);
    }
    On écrit "J'ai tort" ; "tord" est la conjugaison du verbre "tordre" à la 3ème personne de l'indicatif présent

Discussions similaires

  1. [SDL] manipulation d'image
    Par zdra dans le forum OpenGL
    Réponses: 4
    Dernier message: 28/02/2004, 16h56
  2. Opacité et texture
    Par Dranor dans le forum DirectX
    Réponses: 6
    Dernier message: 27/02/2004, 22h07
  3. un plateau en SDL...
    Par maniaco_jazz dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 24/02/2004, 16h48
  4. [Debutant] Sdl & OpenGl link ne marche pas
    Par Riko dans le forum OpenGL
    Réponses: 9
    Dernier message: 18/02/2004, 16h13
  5. [opengl et sdl]
    Par Gonath dans le forum OpenGL
    Réponses: 6
    Dernier message: 08/12/2003, 09h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo